私はノード構造体**ヴァル
struct NodeBucket {
char** val;
struct NodeBucket* next;
};
として、以下の構造体を使用するバケット・スタックのようなものを実装しています方法は、各バケットは、値の指定された量を保持することができるということです、完全な新しいNodeBucketが作成され、前のノードにリンクされた後でいっぱいになるなど。 最初のバケットに2番目の値を追加しようとすると混乱しました。最初のバケットを作成する最初の値を追加するときは、temp->value = &val
を使用して値を入力に設定します。残りの入力を追加する方法は不明です。私はインデックス(firstBucket-> val [1] = val)を使ってみましたが、これは正しい方法ではないようです。助けていただければ幸いです。はい、これは宿題で、私はPythonからやってくるCの初心者です。
EDIT
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;' ??一時変数のアドレスを格納することは間違いなく実行することです。 –