我正在编写一个程序,它接受一系列指向字符串的指针,我正在编写一个函数来将它们整理好。我认为我有泡泡排序的基础工作,但列表中的所有项目只是切换一个位置而不是排序。
这是主要的
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--;
}
}
}
我想我的问题是获取指针来改变气泡数组的内容,以便我可以在主打印