我正在尝试编写一个代码来实际按升序对我的数组进行排序,所以会发生什么说这就是我所拥有的。
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
最简单的?
更新:
我将接受以下答案之一,但我找到了如何以最简单的方式对数组进行排序的解决方案。
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++;
}