博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++循环单链表删除连续相邻重复值
阅读量:5244 次
发布时间:2019-06-14

本文共 1336 字,大约阅读时间需要 4 分钟。

比如:1(头)->2->2->3->3->1->1(头) 去除以后的结果是1->2->3,注意头尾的1也要去掉一个。

#include "stdafx.h"#include 
using namespace std;struct tnode{ tnode* next; int value;};tnode* unique(tnode *head){ tnode* p = head; while (p->next != head) { if (p->next->value == p->value) { tnode* temp = p->next; p->next = temp->next; delete temp; } else { p = p->next; } } if (p->value == head->value) { p->next = head->next; delete head; head = p; } return head;};void print(tnode* head){ tnode* i = head; while (i->next != head) { cout << i->value << " "; i = i->next; } cout << i->value << endl;}int _tmain(int argc, _TCHAR* argv[]){ tnode* node1 = new tnode; node1->value = 1; tnode* node2 = new tnode; node2->value = 1; tnode* node3 = new tnode; node3->value = 2; tnode* node4 = new tnode; node4->value = 2; tnode* node5 = new tnode; node5->value = 3; tnode* node6 = new tnode; node6->value = 1; node1->next = node2; node2->next = node3; node3->next = node4; node4->next = node5; node5->next = node6; node6->next = node1; tnode* head = unique(node1); print(head); return 0;}

 

转载于:https://www.cnblogs.com/shuada/p/3481025.html

你可能感兴趣的文章
[Cycle.js] Making our toy DOM Driver more flexible
查看>>
LeetCode 160. Intersection of Two Linked Lists
查看>>
html标签的嵌套规则
查看>>
10个实用的但偏执的Java编程技术
查看>>
sql语句查询出数据重复,取唯一数据
查看>>
GitHub上史上最全的Android开源项目分类汇总
查看>>
后台运行命令:&amp;和nohup command &amp; 以及关闭、查看后台任务
查看>>
[Source] Machine Learning Gathering/Surveys
查看>>
HTML <select> 标签
查看>>
类加载机制
查看>>
c# 读/写文件(各种格式)
查看>>
iOS中用UIWebView的loadHTMLString后图片和文字失调解决方法
查看>>
【校招面试 之 C/C++】第24题 C++ STL(六)之Map
查看>>
android基础知识杂记
查看>>
常见浏览器兼容性问题与解决方式
查看>>
Python使用subprocess的Popen要调用系统命令
查看>>
网络编程学习小结
查看>>
常见浏览器兼容性问题与解决方式
查看>>
redis.conf 配置详解
查看>>
thinkphp volist if标签 bug
查看>>