删除结点的操作(单链表)
2014-07-27 09:56
218 查看
#include<stdio.h> typedef struct LNode { int data; struct LNode *next; }LNode,*LinkList; void ListDelete(LinkList &L,LNode *p,int &e) { LinkList q; if(p==L) L=p->next; else { q=L; while(q->next!=p) q=q->next; q->next=p->next; } e=p->data; delete p; } int main() { int n,i; scanf("%d",&n); LinkList p=new LNode; LinkList L=p; for(i=0;i<n;i++) { LinkList s=new LNode; s->data=i; p->next=s; p=s; } p->next=NULL; LinkList t = L->next->next; int e ; ListDelete(L,t,e); printf("%d\n",e); p = L->next ; while(p) { printf("%d ",p->data); p=p->next; } printf("\n"); return 0; }
相关文章推荐
- 学习笔记——C语言实现单链表的基本操作:创建、输出、插入结点、删除结点、逆序链表
- C语言实现单链表(带头结点)的基本操作(创建,头插法,尾插法,删除结点,打印链表)
- 不带头结点的单链表的插入,删除,原地转置,判断空,清空,统计节点数目等操作
- java 链表操作,删除尾结点,指定位置结点
- YTU.3174: 链表基本操作---指定结点删除
- 不带头结点的链表操作----插入删除打印
- 单链表操作之删除链表的一个非尾结点
- 剑指offer算法题之单链表的删除结点操作--面试题13:在O(1)时间删除链表结点
- 链表操作 对链表进行输入,插入,删除结点,按关键字进行查找操作 C语言
- 【链表】C++链表操作大全:创建链表、遍历链表、删除链表结点、寻找环入口、链表加法、判断回文等
- 关于线性表的链式存储(链表)的创建,头插法,尾插法,删除链表结点的操作
- 链表操作二——中间结点的删除等
- 链表操作————合并两个链表,并同时删除两链表中的公共元素结点
- java实现创建链表以及插入节点,查找结点,删除节点等操作
- 链表操作(删除链表中的一个结点)
- 删除没有头结点的链表指点节点操作
- [数据结构]双链表删除结点P的操作
- C语言实现带头结点的链表的创建、查找、插入、删除操作
- (2)单链表的操作 ① 输入一组整型元素序列,使用尾插法建立一个带有头结点的单链表。 ② 实现该线性表的遍历。 ③ 在该单链表的第i个元素前插入一个整数。 ④ 删除该单链表中的第i个元素,其值通过参数
- 链表的基本操作(创建,查找指定位置元素,删除指定元素,插入,倒置,去重,求集合的差,分别交换结点与交换结点值实现的冒泡排序,将两个有序链表合并成一个有序链表)c语言实现