冒泡排序是排序方法中最简单的一种,但时间复杂度很高,是n的平方,笔试中一般使用快速排序。冒泡排序的代码如下:
#include <iostream>
#include <cstring>
using namespace std;
void main()
{
int n;
int num;
int buf[100];
while ( scanf("%d", &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 - 1 - i; 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]);
}
}
}
上机笔试系类教程:
【上级笔试之一】数据输入
【上机笔试之二】冒泡排序
【上机笔试之三】快速排序
【上机笔试之四】快速排序(2)
【上机笔试之五】计算两个日期的差值
【上机笔试之六】Hash应用
【上机笔试之七】Hash应用(2)-从大到小顺序输出其中前m大的数
【上机笔试之八】二分法查找
【上机笔试之九】贪心算法-换零钱
【上机笔试之十】栈应用-扣号匹配