直接插入排序
一、直接插入排序算法思想
直接插入排序算法思想:其基本操作是将一条记录插入到已排好的有序表中,从而得到一个新的、记录数量增1的有序表。
二、代码
#include<stdio.h>
#include<stdlib.h>
#define MAX 10
void insert(int arr[],int n){
int i,j;
int temp;//用来保存 比较值
for(i = 1;i < n;i++){//从第二个元素开始 第一个当作已经排序好的
j = i;
temp = arr[i];
while(j > 0 && temp <= arr[j-1]){//使用temp存储要比较的值,不停的往前比较 前面比他大的往后移 最后temp插入到合适的地方
arr[j] = arr[j-1];
j--;
}
arr[j] = temp;
}
}
int main()
{
int arr[MAX] = {13,76,43,9,5,98,100,99,32,14};
int n = MAX;
insert(arr,n);
for(int i = 0;i < n;i++){//遍历数组
printf("%-5d",arr[i]);
}
printf("\n");
return 0;
}