冒泡排序

来源:互联网 发布:常熟淘宝开店装修 编辑:程序博客网 时间:2024/05/16 06:39
<pre class="cpp" name="code">
//简单插入排序void insertSort(int a[],int n){//第一个数是有序的for(int i=1;i<n;i++){//对第i个数从后往前依次比较int j = i-1;int temp = a[i];//如果第j个数更大,则后移一个位置while( (j>=0)&&(temp<a[j]) ){a[j+1]=a[j];j--;}//将第i个数的原始值与第j+1个数交换位置a[j+1]=temp;}}

<pre class="cpp" name="code">
//冒泡排序void bubbleSort(int a[],int n){//进行n-1趟排序for(int i=0;i<n-1;i++){//对j取值,使得每趟对a[0]到a[n-1-i]//中的相邻元素比较交换for(int j=0;j<n-i-1;j++){//如果前一个元素值更大,则交换if(a[j]>a[j+1]){swap(&a[j],&a[j+1]);}}}}

 
//简单选择排序void selectSort(int a[],int n){//进行n-1趟排序for(int i=0;i<n-1;i++){//记录每趟发现的第i元素之后中最小的元素下标pint p = i;for(int j=i+1;j<n;j++){if(a[j]<a[p]){p = j;}}//如果找到的最小元素下标不是i,则交换if(p!=i){swap(&a[p],&a[i]);}}}

 

 

 

                                             
0 0
原创粉丝点击