//C++ 排序方法的总结 #include <iostream> #include <vector> using namespace std; /* 采用插入法进行排序 */ void InsertArray(int a[],int n, int* &b) { int temp; int j; for(int i = 0;i<n-1;i++) { j = i; while(a[j]>a[j+1]) //后者小于前者,交换 { temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; if(j>0) { j--; } } } b = a; } /* 采用冒泡排序 */ void SortArray(int a[], int n) { int temp ; for (int i = 1;i<n;i++)//n-1次 for (int j = 0;j<n-i;j++)//n-i次 { if (a[j]>a[j+1]) { temp = a[j]; a[j]= a[j+1]; a[j+1] = temp; } } } void main() { int *b; int a[13]= {43,21,89,15,43,28,24,5,67,8,78,23,46}; // InsertArray(a,13,b); // cout<<"选择排序的结果"<<endl; // for(int k = 0;k<13;k++) // { // cout<<*(b+k)<<' '; // } cout<<"冒泡排序的结果"<<endl; SortArray(a,13); for(int k = 0;k<13;k++) { cout<<a[k]<<' '; } }