1.选择排序
外层循环循环n-1次,即剩下最后一个数无需排序,内层循环即擂台法找最值然后替换位置。
从第一个位置开始比较,找出最小的,和第一个位置互换,开始下一轮。
for(int i=0;i<n-1;i++){
for(int j=i;j<n;j++){
if(a[i]<a[j]){
t=a[i];
a[j]=a[i];
a[i]=t; } } }}
*从小到大排序*
*其中内层循环也可以用函数MAX表示 即求无序数组中的最大(小)值*
- 冒泡排序
假如n个元素,从下标为n-1的元素与n-2比较找到小的元素向前排一位再依次比较将无序数组中的最小元素放在最前面,此时只剩下n-1个元素,在按照以上操作执行;
从左到右,数组中相邻的两个元素进行比较,将较大的放到后面。
*有很多种这里说一个简单点的*
for(int i=n-1;i>=0;i--){
for(int j=0;j<i;j++){
if(a[j]<a[j+1]){
t=a[j];
a[j]=a[j+1];
a[j+1]=t; } } }}
for(int i=0;i<n;i++){
for(int j=0;j<i;j++){
if(a[i]<a[j]){
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}