c程序冒泡排序字符串

时间:2017-04-20 22:39:59

标签: c arrays string sorting pointers

我正在编写一个程序,它接受一系列指向字符串的指针,我正在编写一个函数来将它们整理好。我认为我有泡泡排序的基础工作,但列表中的所有项目只是切换一个位置而不是排序。

这是主要的

char *bubble[5] = { "cats", "dogs", "bananas", "apples", "sugar" };
int i = 0;
for (i = 0; i < 5; i++)
{
    printf("%s ", bubble[i]);
}
printf("\n");
bubble_sort(bubble, 5);
i = 0;
for (i = 0; i < 5; i++)
{
    printf("%s ", bubble[i]);
}
printf("\n");

这是我的功能

void bubble_sort(int *list[], int size)
/*
This sorts a list of strings
*/
{
    int u = 0, c = 0, passes = 0;
    char *temp = '/0';
    u = size - 1;

    while (u > 0)
    {
        c = 1;
        while (c < u)
        {
            if (strcmp(list[c], list[c - 1]))
            {
                temp = list[c];
                list[c] = list[c-1];
                list[c - 1] = temp;
                c++;
            }
            u--;
        }
    }

}

我想我的问题是获取指针来改变气泡数组的内容,以便我可以在主打印

0 个答案:

没有答案