參考书目:《数据结构(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