算法描述:
For j=0 T0 n Do
key<--A[j]
i<---j-1
while i>0 AND A[i]>key Do
A[i+1]>A[i]
i<---i-1
A[i+1]<---key
代码:
#include<iostream>#include<stdio.h>using namespace std;void InsertSort(int arr[],int n){ int i,j; int temp; for(i=1; i<n; i++) { temp=arr[i]; j=i-1; while(j>=0&&temp<arr[j]) { arr[j+1]=arr[j];//将关键字大于temp的元素后移 j--; } arr[j+1]=temp;//在j+1处插入temp }}int main(){ int arr[10]; for(int i=0;i<10;i++) { cin>>arr[i]; } int len=10; InsertSort(arr,len); for(int j=0;j<10;j++) { cout<<arr[j]<<" "; } cout<<endl; return 0;}排序流程:
新闻热点
疑难解答