实验10:选择排序

C语言实验 飞快学 275浏览

一、实验目的

理解选择排序的原理和特点;掌握选择排序的复杂度;理解选择排序的代码;

二、实验内容

选择排序(selection sort)是一种简单直观的排序算法。选择排序(由小到大的顺序)的工作原理如下:首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

写出初始序列 70 75 69 32 88 18 16 58 经过选择排序有小到大最终有序的过程。

  16  75  69  32  88  18  70  58
  16  18  69  32  88  75  70  58
  16  18  32  69  88  75  70  58
  16  18  32  58  88  75  70  69
  16  18  32  58  69  75  70  88
  16  18  32  58  69  70  75  88
  16  18  32  58  69  70  75  88

三、实验要点

四、代码

#include <stdio.h>
int main(int argc, char *argv[])
{
    int a[8]= {70,75,69,32,88,18,16,58};
    int i, j, k, t, n=8;
    for (i=0; i<n-1; i++) 
    {
        k=i;
        for(j=i+1; j<n; j++)
            if (a[j]<a[k]) k=j;
        t=a[k];
        a[k]=a[i];
        a[i]=t;
        for (j=0; j<n; j++)
            printf("%4d", a[j]);
        printf("\n");
    }
    return 0;
}

五、实验小结

总结实验过程中遇到的问题及解决办法,不少于50字。