排序
2015-08-05 10:32
316 查看
题目描述 Description
给出n和n个整数,希望你从小到大给他们排序
输入描述 Input Description
第一行一个正整数n
第二行n个用空格隔开的整数
输出描述 Output Description
输出仅一行,从小到大输出n个用空格隔开的整数
样例输入 Sample Input
3
3 1 2
样例输出 Sample Output
1 2 3
数据范围及提示 Data Size & Hint
1<=n<=100000
给出n和n个整数,希望你从小到大给他们排序
输入描述 Input Description
第一行一个正整数n
第二行n个用空格隔开的整数
输出描述 Output Description
输出仅一行,从小到大输出n个用空格隔开的整数
样例输入 Sample Input
3
3 1 2
样例输出 Sample Output
1 2 3
数据范围及提示 Data Size & Hint
1<=n<=100000
<pre name="code" class="cpp">//冒泡排序法 #include <iostream> using namespace std; int main() { int n,i,j,temp,flag=1; cin>>n; int *array=new int ; for(i=0;i<n;i++) { cin>>array[i]; } for(j=0;j<n-1;j++) { for(i=0;i<n-1-j;i++) { if(array[i]>array[i+1]) { temp=array[i]; array[i]=array[i+1]; array[i+1]=temp; flag=0; } } if(flag) break; } for(i=0;i<n;i++) cout<<array[i]<<" "; cout<<endl; delete array; return 0; } //快速排序算法 //快速排序采用的是分治法,其平均时间复杂度为O(nlogn) //一趟快速排序的算法是[1]: // 1)设置两个变量I、J,排序开始的时候:I=0,J=N-1; // 2)以第一个数组元素作为关键数据,赋值给key,即 key=A[0]; //3)从J开始向前搜索,即由后开始向前搜索(J=J-1即J--),找到第一个小于key的值A[j],A[j]与A[i]交换; //4)从I开始向后搜索,即由前开始向后搜索(I=I+1即I++),找到第一个大于key的A[i],A[i]与A[j]交换; //5)重复第3、4、5步,直到 I=J; (3,4步是在程序中没找到时候j=j-1,i=i+1,直至找到为止。找到并交换的时候i, j指针位置不变。另外当i=j这过程一定正好是i+或j-完成的最后另循环结束。) /* 作者:huangyula 题目:p1076 排序 */ #include <iostream> using namespace std; void quick_sort(int a[],int left,int right) { if(left<right) { int i=left; int j=right; int x=a[i]; while(i<j) { while(i<j&&a[j]>x) j--; if(i<j){ a[i]=a[j]; i++; } while(i<j&&a[i]<x) i++; if(i<j) { a[j]=a[i]; j--; } } a[i]=x; quick_sort(a,left,i-1); quick_sort(a,i+1,right); } } int main() { int n,k; cin>>n; int *a=new int ; for(k=0;k<n;k++) cin>>a[k]; quick_sort(a,0,n-1); for(k=0;k<n;k++) { cout<<a[k]<<" "; } cout<<endl; delete a; return 0; }
相关文章推荐
- 编写一个属于自己的sax解析xml文档
- string.h 中常用函数
- 解决没有Win10推送图标问题
- 简单易用的word转pdf转换软件
- java循环|分支结构
- (C#)工厂方法模式
- [分享]牛牛图片查看器[仿QQ图片查看器]及大致原理说明
- 个人收录
- C++ 运算符笔记
- YII 1.0 (7) 登录信息调取 session使用
- 南邮 OJ 1181 字符排序
- OC习题 通讯录 (知识点: 字典 封装 字符串 数组 枚举)
- 开发者必知的五大编程谬论
- zoj 2100 Seeding
- Linux下chkconfig命令详解
- PlaceHolder的两种实现方式(输入框提示)
- 如何获取别人微信文章中的图片
- 【MyBatis】MyBatis+SpringMVC+EasyUI整合分页
- Selenium自动化中DOM,XPATH,CSS定位Web页面对象的优劣性分析
- 2015多校.MZL's endless loop(欧拉回路的机智应用 || 构造)