讲解对象:选择排序 作者:融水公子 rsgz
选择排序的思想是 假设第一位是最大数 然后分别将第一位和其它位进行比较,将真正的最大数放在第一位 同样的方法考虑第二个元素 选择排序的优点是每轮的每次并不是都要比较的 先记录下较小数的位置 然后一轮结束后 再做必要的交换
#include<stdio.h> #include<stdlib.h> int main(){ int a[5]={5,3,2,1,4}; int i,j,min,tmp; for(i=0;i<4;i++){//比较四轮 for(j=i+1;j<5;j++){//1 2 3 4 5 //我觉得我改写的选择排序还是类似于冒泡排序的效率 if(a[i]>a[j]){ tmp=a[i]; a[i]=a[j]; a[j]=tmp; } } } for(int i=0;i<5;i++){ printf("%d ",a[i]); } system("pause"); return 0; }
|