交换排序
来源:互联网 发布:2017中国并购数据统计 编辑:程序博客网 时间:2024/04/30 10:28
交换排序一般包括冒泡排序,时间复杂度为O(n*n)。快速排序,最好情况和平均情况时间复杂度是O(n*logn),最坏情况是O(n*n)。快速排序可以看我之前专门有一章是专门们讲快速排序的。
C++实现如下:
#ifndef exchangeSort_h#define exchangeSort_h#include<iostream>using namespace std;class exchangeSort{public: //冒泡排序O(n*n) void bubbleSort(int a[],int n); //快速排序最坏情况是O(n*n),最好和平均情况是O(nlog(n)) void quitSort(int a[],int left,int right);};//冒泡排序void exchangeSort::bubbleSort(int a[],int n){ for(int i=0;i<n-1;i++){ bool flag=true; for(int j=0;j<n-i-1;j++){ if(a[j]>a[j+1]){ int tmp=a[j]; a[j]=a[j+1]; a[j+1]=tmp; flag=false; } } if(flag){ return; } } }//快速排序void exchangeSort::quitSort(int a[],int left,int right){ if(left>=right){ return; } int i=left,j=right; int tmp=a[left]; while(i!=j){ while(a[j]>=tmp&&j>i){ j--; } while(a[i]<=tmp&&j>i){ i++; } if(i<j){ int temp=a[i]; a[i]=a[j]; a[j]=temp; } } a[left]=a[i]; a[i]=tmp; quitSort(a,left,i-1); quitSort(a,i+1,right);}#endif
0 0
- 交换排序
- 交换排序
- 交换排序
- 交换排序
- 交换排序
- 交换排序
- 交换排序
- 交换排序
- 交换排序
- 交换排序
- 交换排序
- 交换排序
- 交换排序
- 交换排序
- 交换排序
- 交换排序
- 交换排序
- 交换排序
- centos6.5安装oracle 11
- C/C++复习:计算该日在本年中是第几天(结构体,优化版)
- 当鼠标点击对话框以外时自动关闭对话框
- 《C/C++ Debug》:新手编程指南类教程开坑
- 腾讯云 centos7.1 64位+mysql5.5配置笔记
- 交换排序
- poj3111 K Best
- 安卓开发选取城市列表
- Java小程序之字符串倒置
- iOS- 利用AFNetworking3.0+(最新AFN) - 实现文件断点下载
- 身份证 护照等js校验
- JS_基础回看_tag
- angularJs学习资料
- webapp中rem的用法