【发布时间】:2011-11-29 23:54:55
【问题描述】:
我加载了一个 .csv 文件来填充我的结构
typedef struct list TList;
struct list {
int index;
char data;
TList* prox;
};
如何在我的列表中进行冒泡排序?
我试过了
void bubble(TList *list, int siz) {
int c = 0;
int x, y, temp;
for (x = (siz - 1); x >= 0; x--) {
c++;
for (y = 1; y <= x; y++) {
c++;
if (list->index[y - 1] > list->index[y]) {
temp = list->index[y - 1];
list->index[y - 1] = list->index[y];
list->index[y] = temp;
}
}
}
printf("\nNeeded Steps: %i\n", c);
}
我认为这是因为list->index[y]。它就像数据库中的一个表......在位置 0(索引),我有数据和指向下一个节点的指针。使用list->index[..],我想传递位置并获取该节点,就像一个数组一样。它是一个链表,prox 需要指向下一个节点。我用来自 .csv 文件的数据填充了我的列表,list->prox 指向下一个节点。
【问题讨论】:
-
list->index[...]毫无意义。index是int,而不是数组。你想在这里做什么? -
当
index被声明为int时,index[y - 1]是什么意思? -
不...我认为这是因为 list->index[y].
-
发生了什么?你期望会发生什么?这是一个自制的链表吗?这是 C++ 还是 C(在我看来像 C)?请在问题中提供尽可能多的信息。
-
它就像数据库中的一个表......在位置 0(索引),我有数据,以及指向下一个寄存器的指针
标签: c++ linked-list bubble-sort