C 排序算法交换不起作用

C 排序算法交换不起作用,c,algorithm,sorting,C,Algorithm,Sorting,我正在尝试按字典顺序对指向单词的指针数组进行排序,排序本身似乎很有效,除了交换之外,我尝试了许多格式,但都无法实现,希望您能帮助我: for(i=1;i<words;i++){ for(j=i;j>0 && strcmp(dicArray[0][j-1],dicArray[0][j]) == 1;j--){ temp = dicArray[0][j]; dicArray[0][j-1] = dic

我正在尝试按字典顺序对指向单词的指针数组进行排序,排序本身似乎很有效,除了交换之外,我尝试了许多格式,但都无法实现,希望您能帮助我:

    for(i=1;i<words;i++){
        for(j=i;j>0 && strcmp(dicArray[0][j-1],dicArray[0][j]) == 1;j--){
            temp = dicArray[0][j];
            dicArray[0][j-1] = dicArray[0][j];
            dicArray[0][j] = temp;
        }
    }

您的交换算法不正确。 如果要交换dicArray[0][j-1]和dicArray[0][j],请执行以下操作:

temp = dicArray[0][j];
dicArray[0][j] = dicArray[0][j-1];
dicArray[0][j-1] = temp;

什么样的混乱?你能给出一个完整的例子来说明这个问题吗?dicArray是char**type,dicArray[0][j]包含一个指向字符串的指针。看起来我什么都试过了,除了看看是否正确编写了交换函数,谢谢!