数据结构老师在给我们复习C语言时布置了一个实验,内容如图,由于没有学习过这一内容,故向大家请教。
1 回答
已采纳
AAnonymous
TA贡献62条经验 获得超31个赞
这是个链表
#include <cstdio>
struct StudentNode {
char name[10];
int rank;
int score;
StudentNode *pNext;
StudentNode() : name(""), rank(0), score(0), pNext(nullptr) {}
};
struct StudentLinkList {
StudentNode *pHead;
StudentLinkList() : pHead(new StudentNode) { }
~StudentLinkList() {
StudentNode *node = pHead;
while (node != nullptr) {
StudentNode *tmp = node->pNext;
delete node;
node = tmp;
}
}
void createLinkList(int n) {
printf("creating linklist with %d nodes\n", n);
StudentNode *node = pHead;
StudentNode *tmp;
for (auto i = 1; i <= n; ++i) {
tmp = new StudentNode;
printf(" >> input %dst node's infos: name, rank, score: ", i);
scanf("%s%d%d", tmp->name, &(tmp->rank), &(tmp->score));
node->pNext = tmp;
node = tmp;
tmp = nullptr;
}
printf("linklist created\n\n");
}
void showLinkList() {
printf("display all elements of linklist\n >> ");
StudentNode *node = pHead;
while (node->pNext != nullptr) {
printf("| %s | %d | %d | --> ", node->pNext->name, node->pNext->rank, node->pNext->score);
node = node->pNext;
}
printf("null\n\n");
}
};
int main() {
StudentLinkList linkList;
linkList.createLinkList(3);
linkList.showLinkList();
}C:\Users\xxx\CLionProjects\Test\cmake-build-debug\Test.exe
creating linklist with 3 nodes
>> input 1st node's infos: name, rank, score: WANG 1 65
>> input 2st node's infos: name, rank, score: ZHANG 2 98
>> input 3st node's infos: name, rank, score: LI 3 85
linklist created
display all elements of linklist
>> | WANG | 1 | 65 | --> | ZHANG | 2 | 98 | --> | LI | 3 | 85 | --> null
Process finished with exit code 0
- 1 回答
- 0 关注
- 836 浏览
添加回答
举报
0/150
提交
取消
