• 大小: 3KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-05-09
  • 语言: C/C++
  • 标签: 单链表  c++  

资源简介

c++实现的单链表数据结构,供大家学习数据结构与算法使用

资源截图

代码片段和文件信息

#include 
#include 
#include 
using namespace std;
#define MAXSIZE 30
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0

using Statue = int;
using ElemType = int;
using pos = int;

struct Node
{
ElemType data;
Node *Next;
}Node;
using linkList =struct Node*;
Statue GetElem(linkList Lpos i ElemType *e)
{
pos j=1;
linkList p;
p =L->Next;
while (p && j {
p = p->Next;
++j;
}
if (!p || j>i)
{
return ERROR;
}
*e = p->data;
return OK;
}
void CreatListHead(linkList *L int n)
{
linkList p;
int i;
srand(time(0));
*L = (linkList)malloc(sizeof(Node));
//L = new linkList;
(*L)->Next = nullptr;
for (i = 0; i < n;++i)
{
p = (linkList)new struct Node;
p->data = rand() % 100 + 1;
p->Next = (*L)->Next;
(*L)->Next = p;
}
}
Statue ListInsert(linkList *L pos i ElemType e)
{
pos j=1;
linkList p=*Ls;
while (p && j {
p = p->Next;
++j;
}//p指向第i-1个节点
if (!p || j>i)
{
return ERROR;
}
s = (linkList)malloc(sizeof(Node));
s->data = e;
s->Next = p->Next;
p->Next = s;
return OK;
}
Statue LIstDelete(linkList *L pos i ElemType *e)
{
pos j = 1;
linkList p  q;
p = *L;
while (p->Next && j {
p = p->Next;
++j;
}//p是第i-1个结点
if (!(p->Next) || j>i)
{
return ERROR;
}
q = p->Next;
*e = q

评论

共有 条评论