我该如何重复我的气泡排序它被执行
How can i repeat my bubble sort one it get executed?
我正在尝试进行气泡排序吗?在我的代码中,我已经对数组进行了部分整理。我想再次执行此步骤以排序我的数组,然后退出程序。
#include <iostream>
using namespace std;
int main() {
int n;
cin>>n;
int A[n];
for(int i=0;i<n;i++)
{
cin>>A[i];
}
for(int i=0;i<n;i++)
{
cout<<A[i];
}
cout<<endl;
//repet:;
for(int i=0;i<n;i++)
{
while(A[i]>A[i+1])
{
int temp;
temp = A[i+1];
A[i+1] = A[i];
A[i] = temp;
}
for(int i=0;i<n;i++)
{
cout<<A[i];
}
cout<<endl;
}
//goto repet;
return 0;
}
我已经使用了另一个循环和一个布尔var swapped
检查此迭代时是否有任何更改。
bool swapped;
do {
swapped = false;
for(int i=0;i<n;i++)
{
while(A[i]>A[i+1])
{
int temp;
temp = A[i+1];
A[i+1] = A[i];
A[i] = temp;
swapped = true;
}
}
for(int i=0;i<n;i++)
{
cout<<A[i] << " " ;
}
cout<<endl;
} while (swapped);
您可以在Wiki中检查一些优化。
这是您需要的代码更改:
for(i = 1; (i <= numLength); i++)
{
flag = 0;
for (j=0; j < (numLength -1); j++)
{
if (num[j+1] > num[j])
{
temp = num[j]; // swaping elements
num[j] = num[j+1];
num[j+1] = temp;
}
}
}
相关文章:
- 在执行其他功能的同时播放动画(LED矩阵和Arduino/ESP8266)
- C++,系统无法执行指定的程序
- 二叉排序树无法编译
- 使用C++中的模板和运算符重载执行矩阵运算
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 排序时无法执行交换操作.我做的时候它会崩溃.为什么
- 无法在我的堆排序代码中找到错误.无法正确执行.C++
- (C++)合并排序执行时间
- 我该如何重复我的气泡排序它被执行
- 执行“提升几何图形”最近的查询始终首先按最小距离排序结果
- 无法正确执行STD ::排序
- 此合并排序算法执行多少个比较
- 在我的图实现中查找边的数量并执行拓扑排序
- 排序的链表在每次执行时插入重复项
- 在每种情况下都执行“std::set”对元素进行排序
- 气泡排序阻止我的程序执行
- 在链接列表上执行合并排序
- 错误的子数组在合并排序中执行
- 确定插入排序中执行的班次数
- 如何在链表上执行选择排序