冒泡排序:
#include <iostream>
using namespace std;
int main()
{
int arr[10] = {1,2,3,4,6,8,9,5,10,7};
int len = sizeof(arr) / sizeof(arr[0]);
cout << len << endl;
for (int i = 0; i < len-2; i++) {
for (int j = i; j < len-1; j++) {
if (arr[j]>arr[j + 1]) {
int s = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = s;
}
}
len--;
}
for (int i = 0; i < 10;i++) {
cout << arr[i] << endl;
}
return 0;
}简单选择排序:
#include <iostream>
using namespace std;
int main()
{
int arr[10] = {1,2,3,4,6,8,9,5,10,7};
int len = sizeof(arr) / sizeof(arr[0]);
for (int i = 0; i < len-1;i++) {
int min = arr[i];
int index = i;
for (int j = i + 1; j < len;j++) {
if (arr[j] < min) {
min = arr[j];
index = j;
}
}
int temp = arr[i];
arr[i] = arr[index];
arr[index] = temp;
}
for (int i = 0; i < 10;i++) {
cout << arr[i] << endl;
}
return 0;
}插入排序:
#include <iostream>
using namespace std;
int main()
{
int arr[10] = {1,2,3,4,6,8,9,5,10,7};
int len = sizeof(arr) / sizeof(arr[0]);
for (int i = 1; i < len;i++) {
for (int j = i; j > 0;j--) {
if (arr[j] < arr[j - 1]) {
int temp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = temp;
}
else
break;
}
}
for (int i = 0; i < 10;i++) {
cout << arr[i] << endl;
}
return 0;
}
本文深入探讨了三种基本的排序算法:冒泡排序、简单选择排序和插入排序。冒泡排序通过不断交换相邻逆序元素实现排序;简单选择排序则是每轮找出最小(或最大)元素放到正确位置;插入排序则将每个元素插入到已排序部分的正确位置。这些排序算法在计算机科学中有着广泛的应用,并为更复杂的排序算法奠定了基础。
6374

被折叠的 条评论
为什么被折叠?



