【经典回放】多种语言系列数据结构算法:队列(C版)

一、队列ADT以及C语言实现

1 队列的原理以及ADT分析

队列是说:把一些数据按先进先出来组织,如同日常生活中的排队过程。

队列最主要的操作是

<1> 数据加入队列;<2> 从队列中取出数据;

加入队列只能加入到队列尾巴上,而从队列中取出数据、则只能是取出队列中的第一个,一般不允许有插队、或队列中间删除数据的要求。

由上述分析,队列的ADT见教材P68,同时我们也可以看出:由于队列基本不存在中间插入/删除数据的情况,所以队列用顺序表完成就基本足够了,但如果进入队列的数据可能很大或者项目很多,队列也有用链表完成的。同样的情况,如果进出栈的数据项目很多且数量很不确定,则栈也可能用链表来完成。

在这里为了复习前面的知识,我们的程序将使用链表来完成一个队列。于是我们可以把前面链表范例b4.c复制过来。

首先定义进出队列的数据表ElemType,这里我们依然使用:

做完这些工作后,就可以按ADT表的要求进行编程了。

struct ElemType
{
        long sNo;
        char sName[20];
        int sAge;
};

2

猜你喜欢

转载自blog.csdn.net/lucky51222/article/details/105743544
今日推荐