插入排序

 1 #include<iostream>
 2 
 3 using namespace std;
 4 
 5 //对数组a中前num个元素进行插入排序,从小到大排列
 6 void sort(int* &a,int num)
 7 {
 8     for(int i=0;i<num-1;i++)
 9     {
10         for(int j=0;j<=i;j++)
11         {
12             if(a[i+1]<=a[j])
13             {
14                 int temp=a[i+1];
15                 for(int k=i+1;k>j;k--)
16                 {
17                     a[k]=a[k-1];
18                 }
19                 a[j]=temp;
20             }
21         }
22     }
23 }
24 
25 
26 
27 int main()
28 {
29     int n;
30     cout<<"请输入需要排序的元素的个数:";
31     cin>>n;
32     int *p=(int*)malloc(sizeof(int)*n);
33     cout<<endl;
34     for(int i=1;i<n+1;i++)
35     {
36         cout<<"请输入第"<<i<<"个元素:";
37         cin>>p[i-1];
38         cout<<endl;
39     }
40     
41     cout<<endl<<"排序前的元素:";
42     for(int i=0;i<n;i++)
43     {
44         cout<<p[i]<<" ";
45     }
46     cout<<endl;
47 
48     sort(p,n);
49     cout<<"排序后的元素:";
50     for(int i=0;i<n;i++)
51     {
52         cout<<p[i]<<" ";
53     }
54     cout<<endl;
55 
56     return 0;
57 }
原文地址:https://www.cnblogs.com/jswu-ustc/p/8315853.html