业精于勤荒于嬉,形成于思毁于随
只吃馒头不吃菜,省下钱来谈俩恋爱!This is my simply life!
博客园
首页
新随笔
新文章
联系
管理
订阅
随笔- 140 文章- 2 评论- 49
2.4-其它运算在单链表上的实现
//
DataStructTest.cpp : Defines the entry point for the console application.
//
#include
"
stdafx.h
"
#include
<
iostream.h
>
#include
<
malloc.h
>
typedef
struct
node
*
pointer;
struct
node
{
int
data;
pointer next;
}
;
typedef pointer lklist;
lklist head
=
NULL;
//
表头
//
建表,只做了第二种建表的算法,第一种书上只作为引例,且算法为O(n2),所以呼略不做了
lklist create_lklist2()
{
int
x
=
0
;
head
=
(lklist)malloc(
sizeof
(node));
lklist p
=
head;
cout
<<
"
请输入数据项的值,-1结束
"
;
cin
>>
x;
while
(x
!=-
1
)
{
p
->
next
=
(lklist)malloc(
sizeof
(node));
p
->
next
->
data
=
x;
p
=
p
->
next;
cout
<<
"
请输入数据项的值,-1结束
"
;
cin
>>
x;
}
p
->
next
=
NULL;
return
head;
}
//
删除重复结点
void
purge_lklist(lklist head)
{
lklist p
=
head
->
next;
while
(p
!=
NULL)
{
lklist q
=
p;
//
单链表的做删除操作时,工作结点指向待删的前驱结点
while
(q
->
next
!=
NULL)
{
if
(q
->
next
->
data
==
p
->
data)
{
lklist r
=
q
->
next;
q
->
next
=
r
->
next;
free(r);
}
else
{
q
=
q
->
next;
}
}
p
=
p
->
next;
}
}
//
显示
void
display(lklist head)
{
lklist p
=
head;
int
i
=
0
;
p
=
p
->
next;
//
指向第一个结点
while
(p
!=
NULL)
{
i
++
;
cout
<<
"
第
"
<<
i
<<
"
个元素的值为:
"
<<
p
->
data
<<
endl;
p
=
p
->
next;
}
}
int
main(
int
argc,
char
*
argv[])
{
char
*
error
=
NULL;
pointer p
=
NULL;
int
i
=
0
;
head
=
create_lklist2();
cout
<<
"
初始化的表为:
"
<<
endl;
display(head);
purge_lklist(head);
cout
<<
"
删除重复项后的表为:
"
<<
endl;
display(head);
return
0
;
}
posted on 2007-06-25 09:12
毁于随
阅读(19)
评论(0)
编辑
收藏
所属分类:
数据结构导论
新用户注册
刷新评论列表
标题
姓名
主页
Email
(博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
网站首页
新闻频道
社区
小组
博问
网摘
闪存
找找看
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
相关文章:
.NET初学者架构设计指南
你必须知道的.NET
prototype.js 1.4版开发者手册(强烈推荐)
使用Visual Studio2005入门.Net2.0系列视频教程
NHibernate 2.0.0.Beta1发布了
Lucene2.3.2 发布
SQL查询.....
英语翻译求助...
笑死我了....
呵呵,人气不高......
相关链接:
所属分类的其他文章:
8.5归并排序
8.4.2堆排序
8.4.1直接选择排序
8.3.1冒泡排序
8.3.2快速排序
8.2插入排序
6.3.1二叉排序树
6.2顺序表&有序表上的查找
5.5拓扑排序
5.4最小生成树
最新IT新闻:
51.COM技术副总裁邵辉跳槽百度
Mono 2.0终于到来
百度任命李一男担任首席技术官
Google Knol 开始尝试有声版
12日电脑与人进行世纪对话 可思考机器或诞生
<
2007年6月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
留言簿
(5)
给我留言
查看留言
我参加的小组
沈阳.NET俱乐部
我参与的团队
北京.NET俱乐部(0/1544)
沈阳.NET俱乐部(0/304)
随笔分类
(133)
C# SDK学习(11)
C# 编程经验(16)
C# 学习笔记(6)
C++ Primer学习(7)
DotNet 2.0 Technology(1)
MFC学习(2)
ORM学习(1)
SmartClient(3)
VB6 编程经验(5)
VB6学习笔记
WCF&WPF(6)
Web Service(3)
Win32编程学习(2)
WinCE(4)
XML Tech(1)
感悟人生(2)
设计模式(3)
生活日记(1)
数据结构导论(27)
数据库相关(5)
杂七杂八(27)
随笔档案
(139)
2008年9月 (1)
2008年7月 (3)
2008年5月 (1)
2008年4月 (1)
2008年3月 (5)
2008年2月 (2)
2008年1月 (3)
2007年12月 (4)
2007年8月 (8)
2007年7月 (12)
2007年6月 (12)
2007年5月 (3)
2007年4月 (10)
2007年3月 (7)
2007年2月 (10)
2007年1月 (5)
2006年12月 (1)
2006年10月 (7)
2006年9月 (13)
2006年8月 (31)
文章分类
(2)
C# SDK学习(1)
C# 编程经验
C# 学习笔记(1)
VB6 编程经验
VB6学习笔记
Web Service
感悟人生
设计模式
生活日记
数据库相关
牛人Blogs
Terrylee
刘润
吕震宇
伍迷
张逸
同学的Blog
祁晓锐的Blog
史金兰的Blog
最新评论
阅读排行榜
1. C++字符串完全指南(转)(925)
2. VS2005对WinCE5.0设备部署时的问题(690)
3. Socket异步编程-之客户器端.(575)
4. 3.3.3.3稀疏矩阵转置算法(536)
5. 我的第一个用EVC写的程序!(477)
评论排行榜
1. 我的第一个用EVC写的程序!(4)
2. 帮北航小妹妹做的一道她的C++的作业题.(4)
3. XMLHTTP小偷程序原理-及一天气预报小偷程序 (转)(2)
4. 我设计VB6的三存架构模式:一、DataAccess层(2)
5. 2006.7.3工作总结!(2)