链表
我想要复习关于C++的姿势,但是我好像忘了,最后我发现,我没有。
链表是什么?
就是一个节点连接另一个一样的节点,数据结构结束这个样子的。我的脸表的数据结构也是这个样子的。
节点
- 描述:这是一个链表节点,里面放的是一个信息,一个指针,指针指向下一个脸表节点。
class Node
{
//信息节点
public:Info val;
//下一个节点
public:Node * next;
};
信息节点Info
- 描述:这是一个信息节点,你的姓名和你的学号
class Info
{
//姓名
public:string name;
//学号
public:int id;
const string &getName() const {
return name;
}
void setName(const string &name) {
Info::name = name;
}
int getId() const {
return id;
}
void setId(int id) {
Info::id = id;
}
};
验证方式
- 描述:三个过程
- 一个过程是:创建一个链表的头节点
- 第二个过程:数据输入
- 创建一个新的链表节点
- 在创建一个新的链表节点中填充数据
- 原链表的指针指向新链表
- 指向原链表的指针指向新链表
- 第三个过程:数据输出
- 一个指针指向头节点
- 输出节点信息
- 指针指向下一个节点
- 循环
void getNext()
{
Node * node = new Node();
Node * ii ;
ii = node;
for (int i =0;i<10;i++) {
Node * tempNode = new Node();
tempNode->val.setId(i);
tempNode->val.setName("1");
ii->next = tempNode;
ii = tempNode;
}
ii = node;
for (int i=0;i<10;i++) {
cout << ii->val.getId() << " " << ii->val.getName() << endl;
ii = ii->next;
}
}
主函数
int main() {
getNext();
return 0;
}
效果
0
0 1
1 1
2 1
3 1
4 1
5 1
6 1
7 1
8 1