文章
47
粉丝
1091
获赞
221
访问
122w
冒泡排序
思想:把任意两个相邻的大小相反的位置交换、最多进行N趟、
复杂度O(n^2)
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxn = 1005;
int a[maxn];
int main() {
int n;
scanf("%d", &n);
for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
for (int i = 1; i <= n; i++) {
for (int j = 1; j < n ;j++) {
if (a[j] > a[j + 1]) swap(a[j], a[j + 1]);
}
}
for (int i = 1; i <= n; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
选择排序
思想:每次从序列中选择最大/小的元素、适用于只求前K大的顺序、
复杂度O(K*n)
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
using namespace std;
#define inf 1<<31
const int maxn = 1005;
int a[maxn];
int main() {
int n;
scanf("%d", &n);
for (int i = 1; i <= n; i+...
登录后发布评论
暂无评论,来抢沙发