冒泡排序C编程

时间:2014-02-06 14:34:24

标签: c sorting

嘿伙计们遇到了另一个问题。 我试图做一个冒泡排序和选择排序我的选择排序工作。 但我的泡泡排序有问题。就是这样。

void sortBubble(int nRow, char sArr[5][10], char sArrTemp[10]) {
    int nSwaps=0;
    while(nSwaps==1) {
        nSwaps=0;
        for(nRow=1;nRow <5;nRow++) {
            if(strcmp(sArr[nRow-1],sArr[nRow])<0) {
                puts("Doing Swap");
                strcpy(sArrTemp,sArr[nRow]);
                strcpy(sArr[nRow],sArr[nRow-1]);
                strcpy(sArr[nRow-1],sArrTemp);
                nSwaps=1;
            }
        }
    }
}

任何想法为什么它不起作用。

3 个答案:

答案 0 :(得分:1)

由于

,你永远不会进入循环
int nSwaps=0;

此外,您应该考虑使用其他算法进行排序。 我建议qsort

答案 1 :(得分:0)

问题是

int nSwaps= 0 ; while(nSwaps== 1 )

所以

0 == 1返回0(假)所以你永远不会进入循环尝试改变它

答案 2 :(得分:0)

    int nSwaps=0;
    while(nSwaps==1) {
     // sort
    }

将nSwaps更改为1,它应该有效......

int nSwaps=1;
while(nSwaps==1) {
 // sort
}