JAVA笔记五

JAVA笔记

选择排序

                       0      1        2        3        4

3

1

0

2

9

 

 

 

将下标0依次和其他下标对比选择出最小的元素,再将下标1依次和其他下标对比选出最小的元素依次循环

每一次参与比较的元素进行减少:a.length-1

For(int i = 0 ;i<a.length-1;i++){

Int temp;

For(int j =i+1;j<a.length;j++){

If(a[i]>a[j]){

Temp=a[i];

A[i]=a[j];

A[j]=temp

}

}

}

 

冒泡排序:相邻的两个元素进行比较,如果符合条件进行换位

 

                       0      1        2        3        4

3

1

4

2

9

先将31进行交换,34进行比较不需要交换,42进行交换,49进行比较不需要交换,接着在进行相邻元素进行比较,但是最后一个元素不需要进行比较

每一次参与比较的元素进行减少:a.length-1

第一次循环最值出现在最后一位

For(int i = 0 ;i<a.length-1;i++){

Int temp;

For(int j =i+1;j<a.length-i-1;j++){//-x:让每一次的元素减少,-1:避免下标过界

If(a[i]>a[j]){

Temp=a[i];

A[i]=a[j];

A[j]=temp

}

}

}

 

插入排序:

public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println("请输入需要排序的内容:");

Scanner input = new Scanner(System.in);

// 创建数组

int[] array = new int[10];

// 接受输入的数组

for (int i = 0; i < array.length; i++) {

array[i] = input.nextInt();

}

int temp, i, j, count = 0;

System.out.println("排序后的数组:");

for (i = 1; i < array.length; i++) {//插入所有元素

temp = array[i];//将带排序的所有元素放入临时变量中

for (j = i - 1; j >= 0 && temp < array[j]; j--) {//j--向左继续查找

array[j + 1] = array[j];//元素向后移动

 

}

array[j + 1] = temp;//将元素插入相应的位置

count++;

}

System.out.print("交换了" + count + "");

System.out.println();

for (i = 0; i < array.length; i++) {

System.out.print(array[i] + " ");

}

}

}

posted @ 2015-12-01 13:33  星晨-XC  阅读(154)  评论(0编辑  收藏  举报