1.选择排序
原理:将数组的每一个元素和第一个元素相比较,如果小于第一个元素则交换,选出第一小的,依次选出第二小,第三小的....
代码
int[] a = {1,3,2,5}; int i,j,temp;for(i = 0; i < a.length-1; i ++) {temp = a[i];for(j = i + 1; j < a.length; j ++) {if(a[i] > a[j]) {a[i] = a[j];a[j] = temp;temp = a[i];}}}
2.冒泡排序
原理:相邻元素比较,如果后一个元素比前一个小,则交换,把最大的排到最后
代码:
int[] a = {1,3,2,5}; int i,j,temp;for(i=0; i < a.length -1; i ++){for(j=i; j < a.length -1 -i; j++){if(a[j] > a[j+1]) {temp = a[j];a[j] = a[j+1];a[j+1] = temp;} }}
3.插入排序
原理:将数组分为前后2部分,拿后半部分的第一个元素和前半部分的每一个元素比较,插入合适位置
代码:
int[] a = {1,2,5,3}; int i,j,temp;for(i = 1; i < length; i ++){temp = a[i];for(j = i -1; j >=0; j --) {if(temp < a[j]) {a[j+1] = a[j];a[j] = temp; } else {break; }} }