直接插入排序
来源:互联网 发布:python离散化数据 编辑:程序博客网 时间:2024/06/10 07:45
#include "stdafx.h" void insertSort(int arr[], int size) { int i,j; int temp; for (i = 1; i<size;i++) { temp = arr[i]; j=i-1; //与已排序的数逐一比较,大于temp时,该数移后 while((j>=0) && (arr[j] > temp)) //当first=0,j循环到-1时,由于[[短路求值]],不会运算array[-1] { arr[j+1] = arr[j]; j--; } arr[j+1] = temp; //被排序数放到正确的位置 } }int main(int argc, char* argv[]){int data[]={10,7,5,6,9,8,4,2,0,1,3,45,4};int size=(sizeof(data)/sizeof(data[0]));insertSort(data,size);for(int i=0;i<size;i++){printf("%d ",data[i]);} int aaa;scanf("%d",&aaa);return 0;}