问题描述:冒泡排序实现,如果第一元素大于第二个元素,则交换直到所有元素从小大顺序为止。
问题求解:
#include<iostream>;
using namespace std;
int main() {
//冒泡排序
int array_one[7] = { 8,7,9,40,5,0,7 };
int len = sizeof(array_one) / sizeof(array_one[0]);
int temp = 0;
cout << "排序前为:" << endl;
for (int k = 0; k < len - 1; k++) {
cout << array_one[k] << " ";
}
cout << len << endl;
//外循环,排序论数
for (int i = 0; i < len - 1; i++) {
//内循环,交换次数,如果第一个数比第二个数大,则交换
for (int j = 0; j < len - i - 1; j++) {
if (array_one[j] >= array_one[j + 1]) {
temp = array_one[j];
array_one[j] = array_one[j + 1];
array_one[j + 1] = temp;
}
}
}
cout << "排序前后:" << endl;
for (int k = 0; k <= len - 1; k++) {
cout << array_one[k]<<" ";
}
cout << endl;
system("pause");
return 0;
}