/* Name: selectSort and insertSort Copyright: nyist Author: 润青 Date: 01/10/18 19:30 Description: 实现了简单选择排序与直接插入排序 */ #include<stdio.h> int a[100]; int n; void selectSort(); void insertSort(); int main(){ scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",&a[i]); } insertSort(); for(int i=0;i<n;i++){ printf("%d ",a[i]); } } void selectSort(){//从待排序部分元素中选取最小的,令其与待排序元素的第一个元素交换位置 for(int i=0;i<n;i++){ int k=i; for(int j=i;j<n;j++){ if(a[j]<a[k]){ k=j; } } int temp=a[i]; a[i]=a[k]; a[k]=temp; } } void insertSort(){//用已有序的后一个元素a与有序元素比较,找到a应该放的位置,让a以后的元素后移一位,插入a for(int i=1;i<n;i++){ int temp=a[i],j=i; while(j>0&&temp<a[j-1]){ a[j]=a[j-1]; j--; } a[j]=temp; } }