冒泡排序:O(n^2);
冒泡排序的基本思想是:每次比较两个相邻的元素,如果它们的顺序错误就把它们交换过来
#include <stdio.h>
int main() {
int a[100], n, t;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i; j++) {
if (a[j] < a[j + 1]) {
t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
}
}
for (int i = 0; i < n; i++)
printf("%d ", a[i]);
getchar(); getchar();
return 0;
}
#include <stdio.h>
struct student
{
char name[11];
int score;
}s[100],t;
int main() {
int n;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%s %d", &s[i].name,&s[i].score);
}
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i; j++) {
if (s[j].score < s[j + 1].score) {
t = s[j];
s[j] = s[j + 1];
s[j + 1] = t;
}
}
}
for (int i = 0; i < n; i++)
printf("%s ", s[i].name);
getchar(); getchar();
return 0;
}