2、分配空间 a = new int[5];
3. 赋值a[0] = 8;
4、处理数据a[0] = a[0] * 10;
1. .sort(数组名); 按升序排序(从小到大)
2.冒泡排序
原理:比较两个相邻元素,将值较大的元素向右交换;
思路:依次比较相邻的两个数,较小的数放在前面,较大的数放在后面。
(1)第一次比较:首先比较第一个和第二个数字,小数在前,大数在后。
(2)比较第二个和第三个数,小数在前,大数在后。
……
(3)如此继续下去,直到最后两个数字比较完毕,将小数放在前面,大数放在后面,重复步骤,直到所有排序完成
(4)上述比较完成后,最后一个数一定是数组中最大的数,所以第二次比较时,最后一个数不参与比较。
(5)第二次比较完成后,倒数第二个数字也一定是数组中倒数第二大的数字,所以在第三次比较时,最后两个数字不参与比较。
(6) 以此类推,每次行程的比较次数依次递减
3.选择排序
原理:每遍都从待排序的记录中选择最小的元素,并将其放在已排序序列的末尾,直到所有记录都排序完毕。
1:从a[0]-a[N-1]中选择最小的数据,然后与a[0]交换位置
2:从a[1]-a[N-1]中选择最小的数据,然后与a[1]交换位置(a[0]是步骤1结束后N个数中的最小值)
3:从a[2]-a[N-1]中选择最小的数据,然后与a[2]交换位置(经过步骤2,a[1]是N-1个数中的最小值
4. 桶排序
原理:将数组arr分成n个相同大小的子区间(桶),每个子区间单独排序,最后合并
计数排序是桶排序的一种特例,可以看作每个桶中只有一个元素的情况。
1、找到待排序数组中的最大值max和最小值min
2.我们使用动态数组作为桶,桶中的元素也被存储。 桶数为(max-min)/arr.+1
3、遍历数组arr,计算每个元素arr[i]的桶
4. 每个桶单独排序
5、遍历桶数组,将排序后的元素放入输出数组中
5. 希尔排序
原理:希尔排序是将记录按照下标的一定增量进行分组,并使用直接插入排序算法对每个组进行排序; 随着增量逐渐减小,每组包含的关键字越来越多,当增量减小到 1 时,整个文件就被分成一组,算法终止。
我们来看看希尔排序的基本步骤。 这里我们选择增量gap=/2,并以gap=gap/2的方式继续缩小增量。 这种增量选择可以用序列{n/2,(n/2)/2...1}来表示,称为增量序列。 希尔排序增量序列的选择和证明是一个数学问题。 我们选择的增量序列是比较常用的,也是Hill建议的增量。 称为希尔增量,但实际上这个增量序列并不是最优秀的。 这里我们用 Hill 增量来做一个例子。
6. 快速排序
原理:选择一个关键值作为基准值。 小于参考值的在左边(一般无序),大于参考值的在右边(一般无序)。 通常选择序列的第一个元素。