天极首页
|
产品报价
|
行情
|
手机
|
数码
|
笔记本
|
台式机
|
DIY
|
外设
|
网络
|
服务器
|
GPS
|
数字家庭
|
软件
|
游戏
|
壁纸
|
群乐
|
博客
|
下载
|
VISTA
|
奥运
|
BBS
北京
上海
广州
深圳
南京
太原
沈阳
西安
用户
登录
软件频道>
程序开发>
Java
VB
VC
Delphi
C/C++
Web开发
微软专栏
移动
数据库
程序人生
软件工程
|
开发客
您现在的位置:
天极网
>
开发频道
> 数据结构C语言实现系列——队列
全文
评论
数据结构C语言实现系列——队列
2007-02-04 08:00
作者:88250
出处:csdn
责任编辑:龙犊
#include
<
stdio.h
>
#include
<
stdlib.h
>
typedef
int
elemType;
/*
**********************************************************************
*/
/*
以下是关于队列链接存储操作的6种算法
*/
/*
**********************************************************************
*/
struct
sNode{
elemType data;
/*
值域
*/
struct
sNode
*
next;
/*
链接指针
*/
};
struct
queueLK{
struct
sNode
*
front;
/*
队首指针
*/
struct
sNode
*
rear;
/*
队尾指针
*/
};
/*
1.初始化链队
*/
void
initQueue(
struct
queueLK
*
hq)
{
hq
->
front
=
hq
->
rear
=
NULL;
/*
把队首和队尾指针置空
*/
return
;
}
/*
2.向链队中插入一个元素x
*/
void
enQueue(
struct
queueLK
*
hq, elemType x)
{
/*
得到一个由newP指针所指向的新结点
*/
struct
sNode
*
newP;
newP
=
malloc(
sizeof
(
struct
sNode));
if
(newP
==
NULL){
printf(
"
内存
空间分配失败!
"
);
exit(
1
);
}
/*
把x的值赋给新结点的值域,把新结点的指针域置空
*/
newP
->
data
=
x;
newP
->
next
=
NULL;
/*
若链队为空,则新结点即是队首结点又是队尾结点
*/
if
(hq
->
rear
==
NULL){
hq
->
front
=
hq
->
rear
=
newP;
}
else
{
/*
若链队非空,则依次修改队尾结点的指针域和队尾指针,使之指向新的队尾结点
*/
hq
->
rear
=
hq
->
rear
->
next
=
newP;
/*
注意赋值顺序哦
*/
}
return
;
}
/*
3.从队列中删除一个元素
*/
elemType outQueue(
struct
queueLK
*
hq)
{
struct
sNode
*
p;
elemType temp;
/*
若链队为空则停止运行
*/
if
(hq
->
front
==
NULL){
printf(
"
队列为空,无法删除!
"
);
exit(
1
);
}
temp
=
hq
->
front
->
data;
/*
暂存队尾元素以便返回
*/
p
=
hq
->
front;
/*
暂存队尾指针以便回收队尾结点
*/
hq
->
front
=
p
->
next;
/*
使队首指针指向下一个结点
*/
/*
若删除后链队为空,则需同时使队尾指针为空
*/
if
(hq
->
front
==
NULL){
hq
->
rear
=
NULL;
}
free(p);
/*
回收原队首结点
*/
return
temp;
/*
返回被删除的队首元素值
*/
}
/*
4.读取队首元素
*/
elemType peekQueue(
struct
queueLK
*
hq)
{
/*
若链队为空则停止运行
*/
if
(hq
->
front
==
NULL){
printf(
"
队列为空,无法删除!
"
);
exit(
1
);
}
return
hq
->
front
->
data;
/*
返回队首元素
*/
}
/*
5.检查链队是否为空,若为空则返回1, 否则返回0
*/
int
emptyQueue(
struct
queueLK
*
hq)
{
/*
判断队首或队尾任一个指针是否为空即可
*/
if
(hq
->
front
==
NULL){
return
1
;
}
else
{
return
0
;
}
}
/*
6.清除链队中的所有元素
*/
void
clearQueue(
struct
queueLK
*
hq)
{
struct
sNode
*
p
=
hq
->
front;
/*
队首指针赋给p
*/
/*
依次删除队列中的每一个结点,最后使队首指针为空
*/
while
(p
!=
NULL){
hq
->
front
=
hq
->
front
->
next;
free(p);
p
=
hq
->
front;
}
/*
循环结束后队首指针已经为空
*/
hq
->
rear
=
NULL;
/*
置队尾指针为空
*/
return
;
}
/*
**********************************************************************
*/
int
main(
int
argc,
char
*
argv[])
{
struct
queueLK q;
int
a[
8
]
=
{
3
,
8
,
5
,
17
,
9
,
30
,
15
,
22
};
int
i;
initQueue(
&
q);
for
(i
=
0
; i
<
8
; i
++
){
enQueue(
&
q, a[i]);
}
printf(
"
%d
"
, outQueue(
&
q)); printf(
"
%d
"
, outQueue(
&
q));
enQueue(
&
q,
68
);
printf(
"
%d
"
, peekQueue(
&
q)); printf(
"
%d
"
, outQueue(
&
q));
while
(
!
emptyQueue(
&
q)){
printf(
"
%d
"
, outQueue(
&
q));
}
printf(
"
"
);
clearQueue(
&
q);
system(
"
pause
"
);
}
共2页。
1
2
下一页
末页
相关搜索:
相关文章及软件
·
动态网站Web开发PHP、ASP还是ASP.NET
·
Delphi中Hash表的使用方法
·
关于Visual Basic 9.0的动态标识符
·
百度将针对Google推视频搜索 不采取收购
·
Google用户量 Gmail增71%地图增62%
·
Google反击百度 称中文搜索质量提升四倍
关注此文读者还看过
热门关注
特别推荐
1
QQ旋风
12781次/周
2
快车(FlashGet)
3235次/周
3
迅雷(Thunder)
32709次/周
4
优酷官方视频下载器:i酷
25427次/周
5
比特彗星(BitComet)
400次/周
6
easyMule (VeryCD电驴)
37次/周
7
网页迅雷( Web迅雷)
3419次/周
8
BitComet
69次/周
9
魔方网视频下载(xmlbar)
20次/周
10
爆米花视频下载(xmlbar)
6次/周
1
迅雷(Thunder)
32709次/周
2
优酷官方视频下载器:i酷
25427次/周
3
QQ旋风
12781次/周
4
网页迅雷( Web迅雷)
3419次/周
5
快车(FlashGet)
3235次/周
6
VeryCD 电驴(EasyMule)
1714次/周
7
网吧版迅雷
1330次/周
8
QQ空间音乐下载器
425次/周
9
比特彗星(BitComet)
400次/周
10
Huntmine 汉魅
329次/周
网友关注
软件下载
娱乐下载
驱动下载
1
美图秀秀(美图大师)
60341次/周
2
优阅读书
39625次/周
3
迅雷(Thunder)
32709次/周
4
腾讯QQ 2009 正式版
31643次/周
5
便携式文件夹加密器
29935次/周
6
字幕同步校正工具SubResync
27485次/周
7
WisMencoder
26383次/周
8
优酷官方视频下载器:i酷
25427次/周
9
PP加速器(PPLive加速)
14120次/周
10
皮皮影视播放器(皮皮网PPfilm)
12846次/周
1
迈克尔杰克逊世纪最强舞蹈精华集合
686次/周
2
王桂权自拍下体图片登上艺术展
339次/周
3
喵喵的短信铃声
264次/周
4
搞笑 拍三级片的搞笑事
252次/周
5
搞笑视频 年度最搞笑片段
210次/周
6
诺基亚短信铃声音乐会版
198次/周
7
3GP手机视频 猫和老鼠东北方言版
183次/周
8
电影《变形金刚2》1080p预告片
155次/周
9
兰花[雅尼]凤凰卫视天气预报主题曲
147次/周
10
轩尼诗最新广告曲
145次/周
1
万能摄像头驱动
10916次/周
2
深中科301H摄像头(130万像素)驱动程序
5099次/周
3
万能声卡驱动
3185次/周
4
万能显卡驱动 适用于所有显卡
2381次/周
5
最新万能摄像头驱动 For Windows
2015次/周
6
301P通用摄像头驱动
1513次/周
7
万能网卡驱动 适用于所有网卡
1404次/周
8
手机usb万能驱动下载
1169次/周
9
万能移动硬盘驱动
909次/周
10
HP惠普笔记本Conexant High Definition声卡最新驱动
859次/周
文章排行
本周
本月
最近更新
1
2
3
4
5
6
7
8
9
10
从失学少年到微软才子
腾讯财付通捷足先“登”东航 机票分销模式
经营电子商务改变他的人生
互联网和Web 2.0时代 品牌营销机遇与挑战
1
2
3
4
5
6
7
8
9
10
.NET开发人员必知的八个网站
QQ2009:开启互联网Hummer时代
从失学少年到微软才子
“绿坝”事件敲响了中国网络安全产业的警钟
财付通即将支持信用卡分期付款
网络营销工程师:大学生就业新“钱途”
IT类应届毕业生,你准备好了吗?
客户关系管理SaaS最佳贡献奖花落八百客
新保密法引发网络安全产业地震
腾讯财付通捷足先“登”东航 机票分销模式
1
2
3
4
5
6
7
8
9
10
深入学习代码编辑器
WebSphere sMash使用入门
.NET开发人员必知的八个网站
一位.Net平台开源工程师的五年回望
QQ2009:开启互联网Hummer时代
上海地区java招聘职位分析
中国计算机科学专业失业者最多
绿坝老板耍滑头:有事就找工信部
从失学少年到微软才子
“绿坝”事件敲响了中国网络安全产业的警钟
1
中企开源长风联盟合力推出首届SaaS高峰论坛
2
QQ2009正式版SP2正式全员发布
3
360安全中心:中关村在线网站曝出高危漏洞
4
国内虚拟世界,“由我”做起
5
布局网络商务 企业首当其冲
6
IT企业实施怡海XRM解决方案提高业务能力
7
怡海联合世阳推出整合企业流程管理解决方案
8
网动助南通供电局步入信息化办公新纪元
9
网动租用平台助力北京天坛医院远程医疗会诊
10
网动助力关岭县武装部走进信息化时代
热点推荐
SQL Server 2008新特性新感觉技术专题
珊瑚虫QQ侵权事件追踪专题报道
王者之战 解析2008 IBM SOA市场攻略
2007第二届中国共享软件英雄榜隆重揭榜
关于我们
|
About us
|
网站律师
|
天极服务
|
电子杂志
|
RSS订阅
|
加入我们
|
网站地图
Copyright (C) 1999-2009 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明
在线提交意见反馈
渝ICP证B2-20030003号
天极传媒:
天极网
|
比特网
|
IT专家网
|
IT商网
|
52PK游戏网
|
IT分众