C++ 链表代码详解:创建、插入、输出
#include<stdio.h>
#include<stdlib.h>
#include
int InitList(LinkList &L) { L = new LNode; L->next = NULL; return 1; }
int ListInsert(LinkList &L, int i, ElemType e) { LNode *p = L; int j = 0; while (p && j < i - 1) { p = p->next; j++; } if (!p || j > i - 1) { return 0; } LNode *newNode = new LNode; newNode->data = e; newNode->next = p->next; p->next = newNode; return 1; }
void CreatList(LinkList &L, int n) { L = new LNode; L->next = NULL; LNode *p = L; for (int j = 0; j < n; j++) { LNode *newNode = new LNode; cin >> newNode->data; newNode->next = p->next; p->next = newNode; p = p->next; } }
void print(LinkList L) { LNode *p = L->next; while (p != NULL) { cout << p->data << ' '; p = p->next; } }
int main() { LinkList L = NULL; InitList(L); CreatList(L, 5); print(L); return 0; }
// 以下是修改后的代码,修复了原代码中的错误 // 1. ListInsert 函数中,正确实现插入节点的功能,找到要插入位置的前一个节点 // 2. CreatList 函数中,定义指针 p // 3. print 函数中,使用 cout 输出数据
// ... 代码同上 ...
原文地址: https://www.cveoy.top/t/topic/iS9g 著作权归作者所有。请勿转载和采集!