选择排序
#include <iostream>
using namespace std;
int a[100];
void Select_Sort(int a[], int n) {
int k,t=0;
for (int i = 0; i < n - 1; i++) {
k = i;
for (int j = i + 1; j < n; j++)
if (a[j] < a[k])k = j;
t = a[k]; a[k] = a[i]; a[i] = t;
}
}
int main() {
int n, t;
cin >> n;
for (int p = 0; p < n; p++)
cin >> a[p];
Select_Sort(a, n);
for (int k = 0; k < n; k++)
cout << a[k] << " ";
return 0;
}
冒泡排序
#include <iostream>
using namespace std;
int a[100];
void Bubble_Sort(int a[], int n) {
int t;
bool flag = 1;
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i; j++)
if (a[j + 1] < a[j]) {
t = a[j + 1]; a[j + 1] = a[j]; a[j] = t;
flag = 0;
}
if (flag)break;
}
}
int main() {
int n;
cin >> n;
for (int p = 0; p < n; p++)
cin >> a[p];
Bubble_Sort(a, n);
for (int k = 0; k < n; k++)
cout << a[k] << " ";
return 0;
}
快速排序
int a[101] = { 0 };
void quicksort(int left, int right)
{
int i, j, t, temp;
if (left > right)
return;
temp = a[left];
i = left;
j = right;
while (i != j)
{
while (a[j] >= temp && i < j)
j--;
while (a[i] <= temp && i < j)
i++;
if (i < j)
{
t = a[i];
a[j] = a[i];
a[j] = t;
}
}
a[left] = a[i];
a[i] = temp;
quicksort(left, i - 1);
quicksort(i + 1, right);
}