C语言链表的三种插入方式详解
2019-04-30 20:41
11 查看
[code]#include<stdio.h> #include<stdlib.h> typedef int ElementType; typedef struct Node{ ElementType data; struct Node *next; }Node, *LinkList; /*LinkList为结构指针类型*/ void insertHead(LinkList L, ElementType x);//头插法 void insertTail(LinkList L, ElementType x);//尾插法 void insertList(LinkList L, int i, ElementType x);//任意位置插法 int main() { LinkList L = createList(); return 0; } void insertHead(LinkList L, ElementType x) { Node *p; p = (LinkList)malloc(sizeof(Node)); p->data = x; p->next = L->next; L->next = p; } void insertTail(LinkList L, ElementType x) { Node *pre,*p,*s; pre = L; p = L->next; while(p!=NULL){ pre = p; p = p->next; } s = (Node *)malloc(sizeof(Node)); s->data = x; s->next = pre->next; pre->next = s; } void insertList(LinkList L, int i, ElementType x) { Node *pre, *p, *s; int k = 1; pre = L; p = L->next; while(p!=NULL && k<i) { pre = p; p = p->next; k++; } s = (Node *)malloc(sizeof(Node)); s->data = x; s->next = pre->next; pre->next = s; }
相关文章推荐
- 数据结构之头指针链表de三种插入方式(头插法,尾插法,在pos处插入)
- 单链表创建,插入,删除,排序,倒置:c语言版本. 此处的排序是哪种排序方式呢?和冒泡排序很相似,但又不同。求指点
- 链表插入的三种方式
- 头结点链表的三种插入结点方式
- SSO单点登录三种情况的实现方式详解
- c语言 链表插入
- C语言单链表实现19个功能完全详解
- mysql备份的三种方式详解
- 网站分析数据(即用户行为数据)的三种收集方式详解
- hibernate单表继承的三种实现方式详解
- C语言各种链表操作(创建、打印、删除、插入、反转)
- mysql备份的三种方式详解
- 双链表插入 删除详解
- SSO单点登录三种情况的实现方式详解(一)
- Windows下图文详解PHP三种运行方式(php_mod、cgi、fastcgi)
- SSO单点登录三种情况的实现方式详解
- 多表连接的三种方式详解 HASH JOIN MERGE JOIN NESTED LOOP
- 链表的链性表的c语言实现方式 linklist.h 和 linklist.c
- 三种创建线程的方式详解。
- 对线性表理解以及C语言实现链表的插入删除等操作。