选择排序和冒泡排序c++
时间: 2023-11-06 15:02:30 浏览: 46
选择排序和冒泡排序都是常见的排序算法。
选择排序的原理是每次从未排序的数列中选取最小的数,与当前位置的数交换,以此类推,直到整个数列有序。以下是选择排序的C代码示例:
```C
#include<iostream>
using namespace std;
int main() {
int a[10] = { 2,9,8,6,5,4,7,3,1,0 };
int n = 10;
//选择排序
for (int i = 0; i < n - 1; i++) {
int minIndex = i;
for (int j = i + 1; j < n; j++) {
if (a[j] < a[minIndex]) {
minIndex = j;
}
}
int temp = a[i];
a[i] = a[minIndex];
a[minIndex] = temp;
}
cout << "选择排序结果:" << endl;
for (int i = 0; i < n; i++) {
cout << a[i] << " ";
}
return 0;
}
```
而冒泡排序的原理是从数列的第一个元素开始,依次比较相邻的两个元素,如果顺序不对则交换,一轮比较下来将最大(或最小)的数“浮”到数列的末尾,再对剩下的元素重复以上步骤,直到整个数列有序。以下是冒泡排序的C代码示例:
```C
#include<iostream>
using namespace std;
int main() {
int a[10] = { 2,9,8,6,5,4,7,3,1,0 };
int n = 10;
//冒泡排序
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
if (a[j] > a[j + 1]) {
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
cout << "冒泡排序结果:" << endl;
for (int i = 0; i < n; i++) {
cout << a[i] << " ";
}
return 0;
}
```