选择分类的思想
选择分类的思想是:首先在n个记录中选择一个具有最小关键字的记录,并将它从n个记录中删除,作为新的一组记录的第一个,再在n一1个记录中,选择一个具有最小关键字的的记录,将它从n一1个记录中删除,作为新的一组记录的第二个。如此继续,便得到一组按从小到大顺序排列的记录。2
设待分类的n个数据存放在数组a中。简单选择分类也是对数组a进行多遍扫描,第1遍扫描完成时,n个数据中关键字最小的数据将存入数组元素a[1]中;第2遍扫描,从a[2]到a[n]中选择关键字最小的数据,且将它存入a[2]中;第i遍扫描,将从a[i]到a[n]中选择关键字最小的数据,存入a[i]中;当第n一1遍扫描完成之后,仅剩下唯一的一个元素a[n],它显然是关键字最大的数据。3
算法描述 #include”sort.h” void smpsele(int a[],int n); void main(){ int arr[MAX],n; n=getdata(arr);/*读n个数据存入数组arr中*/ output(arr,1,n);/*显示数组arr中的n个数据*/ printf(”\n”); smpsele(arr,n);/*对数组arr中数据进行分类*/ output(arr,1,n);/*显示分类后的有序的数据序列*/ printf(”\n”); } void smpsele(int a[],int n){ int i,j,m,small,t; for(i=1;i