排序算法的应用非常广泛
如何完成排序
排序的算法有很多种;
简单排序:
1.冒泡排序:
2.直接选择排序:
3.插入排序:
高性能排序:
1.快速排序:需要递归和双指针。
2.归并排序:
3.堆排序:
直接选择排序
1.掌握排序的过程
2.写代码
思路:将所有元素分成两部分,一部分是已排序堆,另一部分是未排序堆;每个回合从未排序堆中找出一个最大(小)的放在已排序堆,重复这个过程即可。
代码:
public static void main(String[] args) { int a[] = {100,67,45,3,90,87,120,77,87,35,4,22,45,33}; //整体思想:将数组分成两部分,未排序和已排序; for (int i = 0; i <a.length-1 ; i++) {//回合数,n-1次 int max = i;//未排序堆中元素最大的那个下标 for (int j = i+1; j < a.length; j++) {//找到元素最大的下标,并将元素赋值给max if(a[max]<a[j]){ max = j; } /* int min = i; 如果想要由小到大排 if(a[min]<a[j]){ min = j }*/ } //交换 if(i!=max){ int temp = a[i]; a[i] = a[max]; a[max] = temp; } } System.out.println(Arrays.toString(a)); }