选择排序
#include <bits/stdc++.h>
using namespace std;
void selectionSort(int a[], int n) {
for (int i = 0; i < n; i++) {
int index = i;
for (int j = i + 1; j < n; j++) {
if (a[j] < a[index])
index = j;
}
swap(a[i], a[index]);
}
}
void println(int a[], int n) {
for (int i = 0; i < n; i++) {
if (i == 0)
cout << a[i];
else
cout << " " << a[i];
}
cout << endl;
}
int main() {
int a[10001], n;
cin >> n;
srand(time(NULL));
for (int i = 0; i < n; i++) {
a[i] = rand() % (1000) + 1;
}
selectionSort(a, n);
println(a, n);
return 0;
}
插入排序(未优化)
#include <bits/stdc++.h>
using namespace std;
void insertSort(int a[], int n) {
for (int i = 1; i < n; i++) {
for (int j = i; j > 0; j--) {
if (a[j] < a[j - 1]) {
swap(a[j], a[j - 1]);
} else
break;
}
}
}
void println(int a[], int n) {
for (int i = 0; i < n; i++) {
if (i == 0)
cout << a[i];
else
cout << " " << a[i];
}
cout << endl;
}
int main() {
int a[10001], n;
cin >> n;
srand(time(NULL));
for (int i = 0; i < n; i++) {
a[i] = rand() % (1000) + 1;
}
insertSort(a, n);
println(a, n);
return 0;
}
插入排序(优化版)
#include <bits/stdc++.h>
using namespace std;
void insertSort(int a[], int n) {
for (int i = 1; i < n; i++) {
int e = a[i];
int j;
for (j = i; j > 0 && a[j - 1] > e; j--) {
a[j] = a[j - 1];
}
a[j] = e;
}
}
void println(int a[], int n) {
for (int i = 0; i < n; i++) {
if (i == 0)
cout << a[i];
else
cout << " " << a[i];
}
cout << endl;
}
int main() {
int a[10001], n;
cin >> n;
srand(time(NULL));
for (int i = 0; i < n; i++) {
a[i] = rand() % (100) + 1;
}
insertSort(a, n);
println(a, n);
return 0;
}