选择排序之直接选择排序

    技术2025-06-08  23

     直接选择排序比较简单,步骤:

    (1)选出序列中最小的元素;

    (2)和序列中第一个元素进行交换;

    (3)从序列第二个位置开始,在剩余的序列元素中重复上面的步骤直到排序完成。

    代码如下:unix环境2011-02-12

    #include <stdio.h> #include <stdlib.h> void print(int a[], int len) { int i; for(i = 0; i < len; i++) printf("%d/n",a[i]); } void SelectSort(int a[], int len) { int i,j,k,temp; for(i = 0; i < len-1; i++) { k = i; for(j = i+1; j < len; j++) { if(a[k] > a[j]) { k =j; } } temp = a[i]; a[i] = a[k]; a[k] = a[i]; } } int main(int argc,char *argv[]) { int len = 10; int a[len]; int i = 0; for(i = 0; i < len; i++) { a[i]=rand(); } printf("the list befor sorting is:/n"); print(a, len); printf("the list after sorting is:/n"); SelectSort(a, len); print(a, len); return 0; }

    最新回复(0)