链式存储的线性表的写与读 // // Created by Liang on 2020-03-23. // #include <iostream> using namespace std; typedef int ElemType; typedef struct LNode *linkList; struct LNode { ElemType Data; linkList Next; }; void test01() {//是“头插法”,在头指针和后续链表之间不停插入新数据 //确定链表的长度 int num = 0; cout << "请输入链表结点个数:" << endl; cin >> num; //创建链表和临时节点 linkList temp; linkList L; //为链表分配内存空间 L = (linkList) malloc(sizeof(struct LNode)); L->Next = nullptr; L->Data = 0; //循环输入数据 for (int i = 0; i < num; i++) { //为临时节点分配内存空间 temp = (linkList) malloc(sizeof(struct LNode)); cout << "请输入第" << 5 - i << "个节点的数据" << endl; //输入数据 cin >> temp->Data; //将L节点的Next(下一个节点的地址)赋给临时节点的Next temp->Next = L->Next; //将临时节点自己付给L节点的Next L->Next = temp; } cout << "输入成功!" << endl; //以下打印输入的链表 //创建一个临时打印节点 linkList Print; //将头指针的Next给临时打印节点 Print = L->Next; //此时print中就是第一节点 while (Print) { //ElemType e = Print->Data; //将节点中的数值赋给e cout << Print->Data << endl; Print = Print->Next; //临时打印节点指向下一个节点 } }