316 字
2 分钟
链表创建
存储结构定义
定义数据结构有两种方法 第一种是通过struct定义
struct Node { int val;//值域 Node* next;//指针域};
第二种是通过typedef定义
typedef struct Node { int val;//值域 Node* next;//指针域}Node;
无头节点链表创建
有头节点链表创建
这个是直接封装成函数的写法,思想其实和无头节点链表创建的那个一样
//带头节点 单链表创建Node* createList(int n) { //头节点 不存数据 指向空 Node* Head = new Node; Head->next = NULL; Node* pre = Head;
cout << "请依次输入链表" << n << "个节点的值:" << endl; for (int i = 0; i < n; ++i) { //每次循环都创建一个新的节点 Node* temp = new Node; //把值赋给temp节点的数据域 cin >> temp->val; //pre的指数域指向下一个节点temp,把pre和temp连接起来 pre->next = temp; //把temp节点赋值给pre 重新定义pre pre = temp; //在下次for循环再一次创建新的temp节点前 temp的指数域指向空 temp->next = NULL; } //把头节点返回 知道头节点 节点与节点之间又相互连接 所以知道每个节点中的值 return Head;}