单链表wip

Run Settings
LanguageC
Language Version
Run Command
# include<stdio.h> typedef struct LNode{ ElemType data; struct LNode *next; } LNode, *LinkList; LNode *p = (LNode *) malloc(sizeof(LNode)); free (p) /** 表示一个单链时,只需要声明一个头指针L 指向单链表的第一个结点。各个指针使用 *next 指针链接 LNode * L; 或者 LinkList L; // 声明一个指向单链表第一个结点的指针 */ typedef struct LNode { ElemType data; struct LNode *next; }LNode ,*LinkList; // 初始化一个空的单链表 bool InitList(LinkList &L) { L = NULL; return true; } void test() { LinkList L; // 声明一个指向单链表的指针 InitList(L); // 初始化一个空表 } typedef struct LNode{ // 定义单链表结点类型 ElemType data; // 每个节点存放一个数据元素 struct LNode *next; // 指针指向下一个节点 }LNode, *LinkList; // 带头结点 在 第i个位置插插入元素 e // i 位序 bool ListInsert(LinkList &L,int i,ElemType e){ if(i<1) return false; LNode *p; // 指针 p 指向当前扫描到的节点 int j = 0; // 当前 p 指向的第几个结点 p = L; // L 指向头结点,头结点是第0个结点(不存数据) while(p!=NULL && j < i-1) // 循环找到第 i-1 个节点 { p= p->next; j++; } if(p==NULL) // i值不合法 return false; LNode *s = (LNode *) malloc(sizeof(LNode)); s->data = e; s->next = p->next; p->next = s; // 将结点s连到p之后 return true; // 插入成功 }
Editor Settings
Theme
Key bindings
Full width
Lines