冒泡排序、选择排序
冒泡排序、选择排序是在学习排序算法时必先接触到的,作为一种简单的排序算法,它们的思路都很简单,所以就不再详细介绍了,直接看代码吧
1 #include<iostream> 2 using namespace std; 3 4 void swap(int a[],int i,int j) 5 { 6 int t; 7 t=a[i]; 8 a[i]=a[j]; 9 a[j]=t; 10 } 11 void bubblesort(int a[],int n) 12 { 13 int i,j; 14 for(i=0;i<n-1;i++) 15 for(j=0;j<n-1-i;j++) 16 if(a[j]>a[j+1]) 17 swap(a,j,j+1); 18 } 19 void selectionsort(int a[],int n) 20 { 21 int i,j,k=0; 22 for(i=0;i<n-1;i++) 23 { 24 k=i; 25 for(j=i+1;j<n;j++) 26 if(a[k]>a[j]) 27 k=j; 28 if(i!=k) 29 swap(a,i,k); 30 } 31 } 32 int main() 33 { 34 int a[10]={34,4,78,35,8,64,45,18,26,35}; 35 int b[10]={13,7,24,8,18,7,26,5,10,28}; 36 bubblesort(a,10); 37 selectionsort(b,10); 38 cout<<"对数组a排序后为:\n"; 39 for(int i=0;i<10;i++) 40 cout<<a[i]<<" "; 41 cout<<"\n对数组b排序后为:\n"; 42 for(int i=0;i<10;i++) 43 cout<<b[i]<<" "; 44 return 0; 45 }
运行结果如下:
看完以后,可以自己动手去敲敲代码,进一步增强理解。