单链表功能的实现
针对数据结构中单链表的ADT,我用C++对各种功能进行了实例化。不过有些功能没有对链表是否为空进行判断,比如删除等…不过大部分功能还是能正常运行的。
大致运行结果的截图如下:
这里是代码
#include<iostream>
using namespace std;
typedef struct Node {
int data;
Node *next;
}Node, *LinkList;
void InitList(LinkList &L);
void Create(LinkList &L, int n);
void GetItem(LinkList L, int i, int &result);
LinkList Locate(LinkList L, int e);
void Insert(LinkList &L, int i, int e);
void DeleteNode(LinkList &L, int i);
void DeleteList(LinkList &L);
void PrintList(LinkList L);
int main() {
int ch = 0, num = 0, result = 0, i = 0, e = 0;
LinkList list;
InitList(list);
cout << "链表初始化成功!请选择功能:\n1、为链表L输入n个数据\n2、获得第i个元素\n3、判断e是否在链表中\n4、在i处插入新结点\n5、删除第i个结点\n6、删除所有结点\n7、输出链表\n0、退出" << e