1 #include<stdio.h> 2 void PrintArr(int a[],int n) 3 { 4 int i; 5 for(i=0;i<=n;i++) 6 { 7 if(i==0)printf("%d",a[0]); 8 else printf(" %d",a[i]); 9 } 10 } 11 int insert(int a[], int n, int num) 12 { 13 int i,t; 14 if(n==1) 15 { 16 if(num>a[0]) 17 a[1]=num; 18 else 19 { 20 a[1]=a[0]; 21 a[0]=num; 22 } 23 } 24 else if(num>a[n-1])a[n]=num; 25 else { 26 if(a[0]>num) 27 { 28 for(i=n;i>0;i--) 29 a[i]=a[i-1]; 30 a[0]=num; 31 } 32 for(i=0;i<n;i++) 33 { 34 if(a[i]<num&&a[i+1]>num) 35 { 36 t=i+1; 37 for(i=n;i>t;i--) 38 a[i]=a[i-1]; 39 a[t]=num; 40 } 41 } 42 } 43 PrintArr(a, n); 44 } 45 int main() 46 { 47 int n,num,i; 48 int a[1020]; 49 scanf("%d",&n); 50 for(i=0;i<n;i++) 51 { 52 scanf("%d",&a[i]); 53 } 54 scanf("%d",&num); 55 insert( a, n, num); 56 return 0; 57 }
原文:https://www.cnblogs.com/yuanqingwen/p/10389334.html