定义一个一位数组维数组a[20],利用for循环给该数组每个元素进行赋值,并利用冒泡排序法对这20个元素进行排序。flag标记。
时间: 2024-02-27 18:51:50 浏览: 90
使用冒泡法排序法对一维数组进行排序
好的,我来给您写一下这个问题的代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int a[20]; // 定义一个一维数组a[20]
int i, j, temp, flag = 1; // 定义循环变量i、j,临时变量temp和标记变量flag
// 给数组a每个元素进行赋值
for (i = 0; i < 20; i++) {
a[i] = 20 - i;
}
// 冒泡排序法对数组a进行排序
for (i = 0; i < 19 && flag; i++) {
flag = 0; // 标记变量flag初始化为0
for (j = 0; j < 19 - i; j++) {
if (a[j] > a[j+1]) {
// 交换相邻两个元素的值
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
flag = 1; // 如果有元素交换,则标记变量flag设为1
}
}
}
// 输出排序后的数组a的元素
for (i = 0; i < 20; i++) {
cout << a[i] << " ";
}
cout << endl;
return 0;
}
```
以上代码定义了一个一维数组a[20],利用for循环给该数组每个元素进行赋值,并利用冒泡排序法对这20个元素进行排序。其中flag标记用于判断是否已经完成排序,如果在一次冒泡排序中没有任何元素交换,则说明数组已经有序,可以提前结束排序过程。
阅读全文