插入排序
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 }