gpt4 book ai didi

c++ - 使用 while 循环和 for 循环排序?

转载 作者:行者123 更新时间:2023-11-30 01:50:09 27 4
gpt4 key购买 nike

我的第一个编程实验室是做一个排序算法来对字符数组进行排序。我已经使用两个for循环成功地做到了,但是为了提高我的技能,我想知道是否有办法使用一个while循环和一个for循环来完成它?

//Include any needed libraries
#include <iostream>
#include <algorithm>
#include <iterator>

//Specify the standard namespace
using namespace std;

int main(){
//Initializes variables.

char foo[7] = {'a','c','g','j','a','c','d'};
//char foo[7];
bool sorted =false;
int i = 0;
int j = 0;
char temp;

//Print out the pre-sorting array.
cout << "The array before sorting is: ";
for (int i=0; i<7; i++){
cout << foo[i];
}
cout << endl;



//The swap function.
for(i=0;i<7;i++){
for (j=0; j<7;j++){
if(foo[i]<foo[j]){
temp = foo[i];
foo[i] = foo[j];
foo[j] = temp;
}
}
}
}

cout << "The array after sorting is: ";
for (int i=0; i<7; i++){
cout << foo[i];
}

cout << endl;


return 0;
}

编辑:这是我们的助教编写的伪代码:

array[];
bool sorted = false;
while(!sorted){
sorted = true;
for each element{
compare
swap
if swapped: sorted = false
}

所以我真正想知道的是如何在 while 循环中集成 bool 语句?

最佳答案

你可以试试这个:

int i = 0;
while (i < 7)
{
for (j = 0; j < 7; j++)
{
if(foo[i] < foo[j])
{
temp = foo[i];
foo[i] = foo[j];
foo[j] = temp;
}
}
i++;
}

关于c++ - 使用 while 循环和 for 循环排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27949379/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com