【发布时间】:2015-06-09 21:25:39
【问题描述】:
如何从链表中删除所有对象,在结构中实现?在我的删除功能(loeschen)显示漫画编号之后,我不再知道我的指针在哪里。
struct domino {
int data1;
int data2;
domino *next;
};
int readSteine (){ //Reading from numbers from file
FILE *file;
if((file=fopen("datei.dat", "r") )==NULL) { /
std::cout<<"File cant be open"<<std::endl;
return 0;
}else {
int beginning;
int temp;
fscanf(file, "%d", &beginning);
for(int i=0; i<beginning; i++) {
domino *domino1= new domino;
//if(i>0) temp2->next=domino1;
fscanf(file, "%i", &temp);
domino1->data1=temp;
fscanf(file, "%i", &temp);
domino1->data2=temp;
printf("[%d:%d]", domino1->data1, domino1->data2);
domino1->next=0;
}
}return 0;
}
删除列表功能:
void deletelist (domino *head) {
domino* tmp;
while(head != 0) {
tmp=head->next;
delete head;
head=tmp;
}
}
int main() {
domino *pHead=NULL;
domino s;
readSteine();
deletelist(pHead);
std::cout<<s.data1<<"...."<<s.data2<<std::endl;
return 0;
}
【问题讨论】:
-
嗨戴安娜。首先,您需要将您的 Kopf 传递给 readSteine 函数,并将其分配给每个新的 next,然后将新的多米诺骨牌分配给它,依此类推以形成链表..
-
@ACV 虽然它可以帮助我们更快地理解问题,但绝对不会帮助 OP 学习外语 C++。
标签: c++ struct linked-list