C ++上的char数组的Bubblesort无法正常工作

时间:2014-03-20 22:12:58

标签: c++ arrays visual-studio-2010 char bubble-sort

我被要求使用Visual Studio在C ++上实现一个函数,给定输入:

char* palabras[] = {"Soy","eMMA","Este","ES","UN","EjErCiCiO","PARA","FAMILIaRIZARSE","CON","EL","manejo","DE","CADENAS"};

我必须按字母顺序排序字符串(不区分大小写)而不使用sort函数。这是我制作的方法:

 char ** Ordenar(char **vecStr, unsigned int largo)
{
    char * temp;
    for (int i=1; i<largo; i++){
        for(int j=0 ; j<largo - 1; j++){
            if (strcmpi(vecStr[j],vecStr[j+1])>0){
            temp = vecStr[j];
            vecStr[j] = vecStr[j+1];
            vecStr[j+1] = temp;
            }
        }
    }
    //This is just to show the array
    cout << "Strings ordenados =";
    for(int i=0; i<largo; i++){
        cout << "   "<<vecStr[i];
    }
    cout << endl;
    return vecStr;
}

但它告诉我,“调试断言失败”。根据我在其他问题中读到的内容,这可能是因为我在排序过程中丢失了阵列中的一些位置。 你能告诉我怎么纠正这个吗?这是我第一次使用C ++和指针

该代码在分类和显示阵列时起作用,但是他说“调试失败失败”

0 个答案:

没有答案