排序(冒泡法)
2015-10-12 02:33
337 查看
我们来看一个简单排序题目:
题目描述:
对输入的n个数进行排序并输出。
输入:
输入的第一行包括一个整数n(1<=n<=100)。
接下来的一行包括n个整数。
输出:
可能有多组测试数据,对于每组数据,将排序后的n个整数输出,每个数后面都有一个空格。
每组测试数据的结果占一行。
样例输入:
4
1 4 3 2
样例输出:
1 2 3 4
说明:
我们进行编码前,先进行算法时间复杂度分析:
如果我们使用冒泡排序法进行排序,那么时间复杂度为100*100,符合要求(冒泡排序算法时间复杂度O(n^2),且题目要求0<=n<=100),从而可以使用冒泡排序算法。
代码如下:
这道题很简单,具体的内容可以自己体味一番,就能明白了!
题目描述:
对输入的n个数进行排序并输出。
输入:
输入的第一行包括一个整数n(1<=n<=100)。
接下来的一行包括n个整数。
输出:
可能有多组测试数据,对于每组数据,将排序后的n个整数输出,每个数后面都有一个空格。
每组测试数据的结果占一行。
样例输入:
4
1 4 3 2
样例输出:
1 2 3 4
说明:
我们进行编码前,先进行算法时间复杂度分析:
如果我们使用冒泡排序法进行排序,那么时间复杂度为100*100,符合要求(冒泡排序算法时间复杂度O(n^2),且题目要求0<=n<=100),从而可以使用冒泡排序算法。
代码如下:
#include<stdio.h> int buf[100]; int main() { int n; while(scanf("%d\n",&n)!=EOF) { for(int i=0; i<n; i++) scanf("%d",&buf[i]); for(int i=0; i<n; i++) for(int j=0; j<n-i-1; j++) { if(buf[j] > buf[j+1]) { int tmp = buf[j]; buf[j]=buf[j+1]; buf[j+1]=tmp; } } for(int i=0; i<n; i++) printf("%d ",buf[i]); printf("\n"); } return 0; }
这道题很简单,具体的内容可以自己体味一番,就能明白了!
相关文章推荐
- Android之使用Http协议实现文件上传功能
- android 代码实现控件之间的间距
- [Android]在代码里运行另一个程序的方法
- 肯特·贝克:改变人生的代码整理魔法
- 网页恶意代码的预防
- 通晓网络测试常用命令
- 文件遍历排序函数
- 高手写的Tracer-Flash代码调试类代码下载
- C#选择排序法实例分析
- CSS代码缩写技巧
- 非主流Q-zOne代码代码搜集第1/2页
- CreateWeb.vbs 代码
- C#插入法排序算法实例分析
- Lua中编译执行代码相关的函数详解
- C#实现Datatable排序的方法
- SQLSERVER的排序问题结果不是想要的
- Windows Powershell排序和分组管道结果
- C#通过IComparable实现ListT.sort()排序
- C#选择法排序实例分析
- SQL学习笔记四 聚合函数、排序方法