冒泡排序法
将第一个值和后面的值,挨个比较,如果手里的值比序列的值小,就交换数据,拿新的数字继续比较,直到最后。 再将第二个值和后面的值,挨个比较。 循环往复,排序完成。
int[] ns = {28, 12, 89, 73, 65, 18, 96, 50, 8, 36};
for (int i = 0;i < ns.length;i++){
for(int j = i+1;j < ns.length;j++){
if (ns[i] > ns[j]){
//交换ns[i]和ns[j]
int tmp = ns[j];
ns[j] = ns[i];
ns[i] = tmp;
}
}
}
System.out.println(Arrays.toString(ns));
使用jdk的Arrays.sort()直接排序
sort对大数组进行快速排序,对小数组仍使用冒泡排序
int[] ns = {28, 12, 89, 73, 65, 18, 96, 50, 8, 36};
Arrays.sort(ns);
System.out.println(Arrays.toString(ns));
查看源码
使用command+鼠标左击,即可查看源码。 如果没有jdk源码,只要将Attach Source——External Location添加jdk源码即可。 windows:在jdk的根目录下 Mac:jdk1.8.0_131.jdk/Contents/Home/下
总结
常用的排序算法:冒泡排序、比较排序、快速排序
冒泡排序使用两层for循环实现
交换两个变量的值需要通过一个临时变量
可以直接使用jdk的Arrays.sort()排序
ctrl+左键/command+左键,快速查看源码
对数组进行排序,会修改数组本身。