基础算法之排序(2)--简单选择排序

来源:互联网 发布:网络统考成绩查询时间 编辑:程序博客网 时间:2024/06/06 12:31
/* purpose : data and struct algorithm study  * title : select  sort * author : ntsk13 * data:  2015.01.13 ****/#include<stdio.h>#define LEN 10 void select_sort(int *array ,int n);int main(){int i=0;int data[LEN]={3,6,9,4,0,1,8,5,2,7};printf("Before sort:\n");for(i=0;i<LEN;i++){printf("%d\t",data[i]);}printf("\n");select_sort(data,LEN);printf("\nAfter sort:\n");for(i=0;i<LEN;i++){printf("%d\t",data[i]);}printf("\n\n");return 0;}void select_sort(int *array ,int n){int i=0,j=0,k=0,key=0,tmp=0;for(i=0;i<n;i++){<span style="color:#ff0000;">key=i;</span>for(j=i+1;j<n;j++){if(array[key] > array[j])key=j;}if(key != i){tmp=array[i];array[i]=array[key];array[key]=tmp;k++;}}printf("\n selectt sort sway %d times \n",k);}
</pre><pre code_snippet_id="578883" snippet_file_name="blog_20150113_3_2172667" name="code" class="cpp">
====================================================================================================
基本思想: 从数据中选择最大/小的与第一个交换, 从生下的数据中选择一个最大/小的数据与第二个交换.
以此类推


0 0
原创粉丝点击