冰棒老师+选择排序算法
2年前 (2019-08-15) 作者:冰斌棒 分类:冰斌棒个人 阅读次数:1403 评论(0)选择排序,即每一次循环选择一个最大或者最小的数字,并把它放在当次循环的第一位。
每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在待排序的数列的最前,直到全部待排序的数据元素排完。
程序实现:
#include <iostream> using namespace std; int main() { int i = 1,j=1,a[7]= {4,6,2,1,8,9,6}; int min,min_num; //只需要对比个数减一次即可完成,由于数组下标从0开始,为此,只需要运行到5即可,则为 i<6,表示六次 for(i=0;i<6;i++){ //每次默认将第i个下标的数字为最小值 min = i; min_num = a[min]; for(j=i;j<7;j++){ if(min_num>a[j]){ min = j;//将最小的坐标赋值给min ,单独提取最小的下标是为了方便找到最小的下标后进行交换 min_num = a[min];//将本次循环最小的值换为第j的下标的数值 } } swap(a[i],a[min]); //测试代码 cout<<i<<" = "<<endl; for(int k=0;k<7;k++){ cout<<a[k]<<" "; } cout<<endl; } for(i=0;i<7;i++){ cout<<a[i]<<" "; } system("pause"); return 0; }
除非注明,发表在“冰斌棒博客”的文章『冰棒老师+选择排序算法』版权归冰斌棒所有。
转载请注明出处为“本文转载于『冰斌棒博客』原地址http://mybbzy.com/?id=203”
评论
发表评论