排序之选择算法(写给自己看的)
要点:
简单选择排序是一种选择排序。
选择排序:每趟从待排序的记录中选出关键字最小的记录,顺序放在已排序的记录序列末尾,直到全部排序结束为止。
简单排序处理流程:
(1)从待排序序列中,找到关键字最小的元素;
(2)如果最小元素不是待排序序列的第一个元素,将其和第一个元素互换;
(3)从余下的 N - 1 个元素中,找出关键字最小的元素,重复(1)、(2)步,直到排序结束。
核心代码(C语言):
#include <stdio.h> #include <stdlib.h> void sort(int list[],int n); int main(int argc, char *argv[]) { int a[10]={9,8,7,6,5,4,3,2,1,10}; sort(a,10); return 0; } void sort(int list[],int n){ int i,j,k; for(i=0;i<n;i++){ int min=i;//保存最小值的索引 for(j=i+1;j<n;j++){ if(list[min]>list[j]){ min=j; } } //将找到的第i个小的值放在第i个位置上 int temp=0; temp=list[min]; list[min]=list[i]; list[i]=temp; printf("第%d趟元素:",i+1); for(k=0;k<n;k++){ printf("%d ",list[k]); } printf("\n"); } }

浙公网安备 33010602011771号