删除链表中指定的所有元素
2017-01-14 15:15
369 查看
话不多说上代码
//这是删除链表中指定的元素,包括链表中所有符合这一元素的结点
//删除结点中指定的一个结点
数据结构上机测试2-1:单链表操作A
Time Limit: 1000MS Memory Limit: 4096KB
Problem Description
输入n个整数,先按照数据输入的顺序建立一个带头结点的单链表,再输入一个数据m,将单链表中的值为m的结点全部删除。分别输出建立的初始单链表和完成删除后的单链表。
Input
第一行输入数据个数n;
第二行依次输入n个整数;
第三行输入欲删除数据m。
Output
第一行输出原始单链表的长度;
第二行依次输出原始单链表的数据;
第三行输出完成删除后的单链表长度;
第四行依次输出完成删除后的单链表数据。
Example Input
10
56 25 12 33 66 54 7 12 33 12
12
Example Output
10
56 25 12 33 66
4000
54 7 12 33 12
7
56 25 33 66 54 7 33
//这是删除链表中指定的元素,包括链表中所有符合这一元素的结点
void dele(node *head,int m,int n) { node *p,*q; p = head; q = head->next; while(q){ if(q->data==m){//当q数据域与m相等时,q的前驱p的下一个为q的下一个 p->next = q->next; n--; } else//否则的话,p继续往后走 p = p->next; q = q->next; } printf("\n%d\n",n); }
//删除结点中指定的一个结点
void dele(node *head,int m) { node *p,*q; p = head; while(p->next!=NULL&&p->data!=m){//找到符合删除结点的前一个结点 q = p; p = p->next; } q->next = p->next; }
数据结构上机测试2-1:单链表操作A
Time Limit: 1000MS Memory Limit: 4096KB
Problem Description
输入n个整数,先按照数据输入的顺序建立一个带头结点的单链表,再输入一个数据m,将单链表中的值为m的结点全部删除。分别输出建立的初始单链表和完成删除后的单链表。
Input
第一行输入数据个数n;
第二行依次输入n个整数;
第三行输入欲删除数据m。
Output
第一行输出原始单链表的长度;
第二行依次输出原始单链表的数据;
第三行输出完成删除后的单链表长度;
第四行依次输出完成删除后的单链表数据。
Example Input
10
56 25 12 33 66 54 7 12 33 12
12
Example Output
10
56 25 12 33 66
4000
54 7 12 33 12
7
56 25 33 66 54 7 33
相关文章推荐
- 在双向链表中删除指定元素
- STL链表之删除指定元素(list)
- 删除链表中指定位置的元素
- 【链表面试题】删除无头单链表的非尾节点,插入一个元素到无头链表指定位置
- 给定一个排序链表,删除所有重复的元素每个元素只留下一个。
- 删除链表中所有值相同的多余元素
- 删除链表中指定元素
- 链表——删除指定元素
- sdut oj1464 链表-删除指定元素
- 单链表的基本操作(尾插,尾删,头插,头删,查找,指定位置插入、删除,指定元素删除、全部删除等)
- 数据结构之 线性表---单链表操作A (删除链表中的指定元素)
- 链表-删除指定元素
- 删除两个双向链表中相同元素的所有节点
- 从链表删除所有值为val的元素
- 数据结构与算法分析笔记与总结(java实现)--链表14:删除链表中所有指定值结点问题
- Remove Linked List Elements 删除链表中指定元素
- 链表逆转以及删除所有重复元素
- STL:map的使用:删除map中指定值为value的所有元素
- python-列表删除所有指定元素
- 删除链表中指定的元素