【问题标题】:Sort algorithm swap doesn't work排序算法交换不起作用
【发布时间】:2013-12-24 13:10:51
【问题描述】:

我正在尝试按字典顺序对指向单词的指针数组进行排序,排序本身似乎有效,除了交换之外,我尝试了多种格式但无法使其工作,希望你能帮助我:

    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的类型是什么?你能举出一个完整的例子来说明这个问题吗?
  • dicArray 是 char** 类型,dicArray[0][j] 包含一个指向字符串的指针。

标签: c algorithm sorting


【解决方案1】:

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

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

【讨论】:

  • 好像我什么都试过了,只是看看我是否正确编写了交换函数,谢谢!
猜你喜欢
  • 1970-01-01
  • 2015-04-30
  • 2019-11-21
  • 2014-12-30
  • 2014-04-18
  • 1970-01-01
  • 2019-04-09
相关资源
最近更新 更多