C语言:用插入排序算法对一个数组进行排序
来源:互联网 发布:如何理解大数据时代 编辑:程序博客网 时间:2024/05/16 00:58
#include<stdio.h>#include<stdlib.h>#include<time.h>#define NUMBER 10//NUMBER为数组的大小 void insertSort(int [],int);void display(int [],int);int main(){ int num[NUMBER]; int randValue = 0; int i,temp; srand(time(NULL)); //随机生成NUMBER个1-100的随机数 for(i=0;i<NUMBER;i++) { randValue=1+(int)rand()%100; num[i]=randValue; } srand(time(NULL)); printf("使用插入排序算法\n"); printf("排序前:"); display(num,NUMBER);//打印数组内容 insertSort(num,NUMBER);//调用插入排序算法 printf("排序后:"); display(num,NUMBER); return 0;}void insertSort(int num[],int count){ int i,j,temp; for(i = 1;i < count;i++) { temp=num[i]; j=i-1; while((j>=0)&&(temp<num[j])) { num[j+1]=num[j]; j--; } num[j+1]=temp; }}void display(int num[],int count){ int i; for(i=0;i<count;i++) { printf("%d\t",num[i]); } printf("\n");}
插入排序算法原理理解起来简单,从第一位开始往后遍历,找到适合的位置插入即可。