C语言-简单选择排序与直接插入排序的实现

时间:2021-05-29 18:15:37
/*
Name: selectSort and insertSort
Copyright: nyist
Author: 润青
Date: 01/10/18 19:30
Description: 实现了简单选择排序与直接插入排序
*/ #include<stdio.h>
int a[];
int n;
void selectSort();
void insertSort();
int main(){ scanf("%d",&n);
for(int i=;i<n;i++){
scanf("%d",&a[i]);
}
insertSort();
for(int i=;i<n;i++){
printf("%d ",a[i]);
}
}
void selectSort(){//从待排序部分元素中选取最小的,令其与待排序元素的第一个元素交换位置
for(int i=;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=;i<n;i++){
int temp=a[i],j=i;
while(j>&&temp<a[j-]){
a[j]=a[j-];
j--;
}
a[j]=temp;
}
}