基本排序方法(c++)

来源:互联网 发布:流光5.0 软件解压密码 编辑:程序博客网 时间:2024/06/05 12:42
#include<iostream>using namespace std;//冒泡排序void bubbleSort(int arr[], int n){for(int i = 0;i < n;i++){  //比较两个相邻的元素   for(int j = 0;j < n-i-1;j++){              if(arr[j] > arr[j+1]){                  int t = arr[j];                  arr[j] = arr[j+1];                  arr[j+1] = t;              }          }      }       }//选择排序void choiceSort(int arr[], int n){  for(int i = 0;i < n; i++){  int m = i;          for(int j = i + 1;j < n;j++){              //如果第j个元素比第m个元素小,将j赋值给m   if(arr[j] < arr[m]){                  m = j;              }          }          //交换m和i两个元素的位置   if(i != m){              int t = arr[i];              arr[i] = arr[m];              arr[m] = t;  }      }  }  //插入排序void insertSort(int arr[], int n){  for(int i = 1;i < n;i++){  int temp = arr[i];  int j = i - 1;  while(temp < arr[j]){  arr[j+1] = arr[j];  j--;  if(j == -1){  break;  }  }  arr[j+1] = temp;  }  }  //快速排序 void quickSort(int *arr,int l,int r){//此处编写代码实现快速排序int i,j,x,temp;if(l<r){i=l;j=r;x=arr[(l+r)/2]; //以中间元素为轴 while(1){while(i<=r&&arr[i]<x)i++;while(j>=0&&arr[j]>x)j--;if(i>=j) //相遇则跳出 break;else{temp=arr[i];arr[i]=arr[j];arr[j]=temp; //交换 }}quickSort(arr,l,i-1); //对左半部分进行快排 quickSort(arr,j+1,r); //对右半部分进行快排 }}int main(){int i;int a[] = {9, 8, 7, 6, 5, 4, 3, 2, 1, 10};//bubbleSort(a,10);//choiceSort(a,10);//insertSort(a,10);quickSort(a, 0, 9);for(i=0;i<=9;i++){cout<<a[i]<<' ';}return 0;}

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 波司登男士加厚羽绒服 波司登羽绒服女款2016 波司登羽绒服多少钱 波司登羽绒服怎么样 波司登羽绒服旗舰店女 波司登短款羽绒服女 波司登中长款羽绒服 波司登羽绒服半成品 波司登女短款羽绒服 波司登羽绒服女长款 波司登羽绒服保暖吗 波司登羽绒服代言人 bosideng 羽绒服图片 波士登 品牌羽绒服女款 羽绒服品牌大全 轻羽绒服女款 女短羽绒服 冬季女装羽戒服 女士羽绒服 羽绒服怎么洗 羽绒服品牌大全波司登 波吉亚家族 波吉亚家族第1季 波吉亚家族 第二季 波吉亚家族第二季 波哥大 波塞冬 我的波塞冬 波塞冬海洋王国 哈尔滨波塞冬 海皇波塞冬 哈尔滨波塞冬门票 波塞冬是什么神 泰国波塞冬 波塞冬什么神 波塞冬图片 奥拉星波塞冬解析 波塞冬冈布奥 波塞冬酒店