数据结构 快速排序冒泡排序
来源:互联网 发布:制作宝宝照片的软件 编辑:程序博客网 时间:2024/05/18 07:21
#include<iostream>#include<time.h>#include<stdlib.h>//使用库函数srand和rand函数using namespace std;const int Max=10;void Creat(int r[],int n);void BubbleSort(int r[],int n);//起泡排序 int Partition(int r[],int first,int end) ;//一次划分void QuickSort(int r[],int first ,int end);//快速排序int main(){int a[Max+1]={0};int b[Max+1]={0};int i=0;Creat(a,Max);for(i=1;i<=Max;i++)//将数组a复制一份到数组bb[i]=a[i];cout<<"对于无序序列:";for(i=1;i<=Max;i++)cout<<b[i]<<" ";cout<<endl;BubbleSort(b,Max);cout<<"执行起泡排序后,元素为:";for(i=1;i<=Max;i++)cout<<b[i]<<" ";cout<<endl;cout<<"对于无无序序列:";for(i=1;i<=Max;i++)cout<<a[i]<<" ";cout<<endl;QuickSort(a,1,Max);cout<<"执行快速排序后,元素为:";for(i=1;i<=Max;i++)cout<<a[i]<<" ";cout<<endl;return 0; } void Creat(int r[],int n) { int i=0; srand(time(NULL)); for(i=1;i<=n;i++) r[i]=1+rand()%100;//待排序记录为两位数 } void BubbleSort(int r[],int n) { int exchange=n; int bound=n; while(exchange!=0) { bound=exchange; exchange=0; int j; for(j=1;j<bound;j++) if(r[j]>r[j+1]) { r[0]=r[j]; r[j]=r[j+1]; r[j+1]=r[0]; exchange=j;//记录每一次交换的位置 } } } int Partition(int r[],int first,int end) { int i=first; int j=end;//初始化 while(i<j) { while(i<j&&r[i]<=r[j]) j--;//右侧扫描 if(i<j) { r[0]=r[i]; r[i]=r[j]; r[j]=r[0]; i++; } while(i<j&&r[i]<=r[j]) i++;//左侧扫描 if(i<j) { r[0]=r[i]; r[i]=r[j]; r[j]=r[0]; j--; } } return i;//i为轴记录的最终位置 } void QuickSort(int r[],int first,int end) { if(first<end) { //区间长度大于一执行一次划分,否则递归结束 int pivot=Partition(r,first,end); QuickSort(r,first,pivot-1);//递归对左侧子序列进行快速排序 QuickSort(r,pivot+1,end);//递归实现对右侧子序列的快速排序 } }
阅读全文
0 0
- 数据结构--冒泡、快速排序
- 数据结构 快速排序冒泡排序
- 数据结构--排序算法(冒泡排序&&快速排序&&鸽巢排序)
- 数据结构--排序算法(冒泡排序&&快速排序&&鸽巢排序)
- 数据结构学习笔记 --- 排序(冒泡排序、快速排序)
- 【python 数据结构 1:排序】冒泡排序和快速排序
- 数据结构学习笔记 --- 排序(冒泡排序、快速排序)
- 快速排序 冒泡排序
- 快速排序、冒泡排序
- 冒泡排序 快速排序
- 快速排序、冒泡排序
- 冒泡排序、快速排序
- 冒泡排序、快速排序
- 冒泡排序,快速排序
- 冒泡排序,快速排序
- 冒泡排序、快速排序
- 冒泡排序,快速排序
- 冒泡排序、快速排序
- 正确使用MySQL JDBC setFetchSize()方法解决JDBC处理大结果集 java.lang.OutOfMemoryError: Java heap space
- [php]简单博客Blog练习项目
- Redis Reactor模式
- VC++字符串类型转换
- python学习笔记--生成器
- 数据结构 快速排序冒泡排序
- 64位win7下PL/SQL Developer 报“ORA-12154: TNS:无法解析指定的连接标识符”问题的一个解决办法
- Java中serialVersionUID的使用
- 多线程学习(二)
- 微信接口返回码对照表
- 每日总结
- 蓝桥杯 算法提高 学霸的迷宫
- 开始阅读redis源代码
- 哈尔滨理工大学第七届程序设计竞赛决赛(网络赛-高年级组)B 幸运大奖【DP】