我试图编写一个代码来按升序对我的数组进行实际排序,所以发生了什么事情就说这就是我所拥有的。在C++中按升序对数组进行排序
char myListArray[10][40];
myListArray = "Yeah?",
"Tomorrow",
"Again",
"I will see you";
那么,什么发生的是,它应该是那种由ASCII值的顺序。
Again
I will see you
Tomorrow
Yeah?
我已经创造这样的事情...
char temp[40];
temp[0] = '\0';
int i, j, pos = 10, flag = 1;
for(i = 1; (i <= pos) && flag; i++)
{
flag = 0;
for (j=0; j < (pos -1); j++)
{
if (phrase[i][j+1] > phrase[i][j])
{
strcpy(temp, phrase[i]);
strcpy(phrase[i], phrase[i+1]);
strcpy(phrase[i+1], temp);
flag = 1;
}
}
}
现在我不知道我有我的逻辑有问题,我想知道是否有排序功能简单的方法?或bubble sort
是最简单的?
UPDATE:
我会接受下面的答案之一,但我发现我的如何我在最简单的方法排序数组的解决方案。
while(pos < 9){
if(phrase[pos][i] > phrase[pos+1][i]){
strcpy(temp, phrase[pos]);
strcpy(phrase[pos], phrase[pos+1]);
strcpy(phrase[pos+1], temp);
flag = 1;
if(flag = 1){
pos = 0;
}
}
pos++;
}
http://en.wikipedia.org/wiki/Sorting_algorithm – trumpetlicks
@trumpetlicks是的,我真的看到了,当我搜索并认为冒泡排序最慢,但我客我上面的代码认为是冒泡排序太? – Ali
是的,林相当肯定你正在实施泡沫排序! – trumpetlicks