插入排序无非就是在原来已经排好序的基础上再一个个添加元素,每次保持数列是有序的。
初始化第一个有序,然后在不断的插入元素,知道所有元素全部排序。
思路比较简单,直接看下代码:
C代码
#include<stdio.h>
void insert(int a[],int pos,int value);
int main(){
int i;
int a[]={2,1,0,9,3,5,4,7,8,6};
for(i=1;i<10;i++){
insert(a,i,a[i]);
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
return 0;
}
void insert(int a[],int pos,int value){
pos--;
while(pos>=0&&a[pos]>value){
a[pos+1]=a[pos];
pos--;
}
a[pos+1]=value;
}
初始化第一个有序,然后在不断的插入元素,知道所有元素全部排序。
思路比较简单,直接看下代码:
C代码
#include<stdio.h>
void insert(int a[],int pos,int value);
int main(){
int i;
int a[]={2,1,0,9,3,5,4,7,8,6};
for(i=1;i<10;i++){
insert(a,i,a[i]);
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
return 0;
}
void insert(int a[],int pos,int value){
pos--;
while(pos>=0&&a[pos]>value){
a[pos+1]=a[pos];
pos--;
}
a[pos+1]=value;
}