參考书目:《数据结构(C语言版)》,严蔚敏

        怎样将《数据结构》中的知识应用到如今的工作中呢(单片机C编程、数字信号处理算法),希望在这里可以得到各位的指点。这个程序是我自己用循环队列实现了一个简单的应用模型(得益于一位童鞋的启示)。这里高手如云,希望可以得到很多其它的指点啊!

common.h

#ifndef	_COMMON_H_
#define	_COMMON_H_

#define TRUE        1
#define FALSE       0
#define OK          1
#define ERROR       0
#define INFEASIBLE  -1
#define OVERFLOW    -2

typedef int Status;  

//Status Equal(int a, int b);

#endif


SqQueue.h

#ifndef _SQQUEUE_H_
#define _SQQUEUE_H_

#define MAXQSIZE	10

typedef int QElemType;

typedef struct
{
	QElemType *base;
	int	      front;
	int		  rear;
}SqQueue;

Status InitQueue(SqQueue *Q);
	//构造一个空队列

int QueueLength(SqQueue *Q);
	//返回队列*Q的元素个数,即队列的长度

Status EnQueue(SqQueue *Q,QElemType e);
	//插入元素e为Q的新的队尾元素

Status DeQueue(SqQueue *Q,QElemType *e);
	//若队列不空,则删除Q的队头元素,用e返回其值,并返回OK,否则返回ERROR

Status QueueDisp(SqQueue *Q);
	//显示整个队列

Status QueueScanf(SqQueue *Q);
	//向指定的队列输入数据,约定当输入0时结束,并不将0存入队列

Status QueueScanfApp(SqQueue *Q);
	//调用EnQueue()函数向指定队列中输入数据,当队列满 或 输入0 时结束

#endif


SqQueue.c


main.c

 

相关文章: