我採取的一種桶堆的使用下面的結構爲節點結構使用char ** VAL
struct NodeBucket {
char** val;
struct NodeBucket* next;
};
它應該工作的每一個木桶能裝值的規定量的方式,當完整的時候創建一個新的NodeBucket並且鏈接到前一個然後填充等等。 嘗試將第二個值添加到第一個存儲桶時,我遇到了混淆。當我添加第一個值創建第一個桶時,請使用temp->value = &val
將值設置爲輸入。現在我不確定如何添加其餘的輸入。我試過使用索引(firstBucket-> val [1] = val),但這似乎並不正確。我將不勝感激任何幫助。是的,這是家庭作業,我是C的一個相對初學者,來自Python。
編輯
void push(char* val, struct Stack *stack){
if (isEmpty(stack)){
struct NodeBucket *temp =malloc(sizeof(struct NodeBucket));
temp ->val = &val;
temp->next = NULL;
stack->firstBucket=temp;
stack->topElt++;
}else if(!isEmpty(stack)&& size(stack)!=stack->bucketSize){
stack->firstBucket->val[stack->topElt] = val;
stack->topElt++;
}
您需要向我們展示一些代碼並指出它在哪裏被破壞/您被卡住 – JeremyP
添加了我的推送功能。謝謝! – spaceinvaders101
'temp - > val = &val;'??存儲臨時變量的地址絕對不是要做的事情。 –