prss.net
当前位置:首页 >> 数据结构C语言描述的链队列的基本操作(初始化,判... >>

数据结构C语言描述的链队列的基本操作(初始化,判...

void InitQueue(LiQueue *&q) {q=(LiQueue *)malloc(sizeof(LiQueue)); q->front=q->rear-NULL;} //初始化 int QueueEmpty(LiQueue *q) {if(q->rear==NULL) return 1; else return 0;} //判空 void enQueue( LiQueue *&q,ElemType e) {QNode *s;...

入队操作 功能:将元素 x 插入到Q的队尾。 算法:Status EnQueue(SqQueue &Q, QElemType e) { if ((Q.rear+1) % MaxQsize == Q.front) return ERROR; // 队列满 Q.base[Q.rear]=e; Q.rear=(Q.rear+1) % MaxQsize; return OK; } 出队操作 功能:...

#include #include typedef struct Point { int data; struct Point *next; }P; P* head , * tail; int len=0; void queue_push(P* p) { len++; if(head==NULL) { head=tail=p; } else { tail->next=p; tail=p; } } int queue_pop() { if(len>=1...

#include #include #include const MaxStackSize = 50;typedef char ElemType;typedef struct snode {ElemType data;struct snode *next;}*LinkStack,*psNode;LinkStack GetEmptyStack() { // 初始化LinkStack head = (psNode)malloc(sizeof(str...

你的代码是想把front到rear的值全部输出 但是你下面的操作自己检查一下没有改变front的值,也没有改变rear的值,所以front!=rear是死循环 如果好一点的话 void printQueue(LinkQueue *Q)/*依次输出队列*/ { if(Q->front==Q->rear) { printf("队...

//十进制转化成N进制的算法是 //整数部分为除N取余法,小数部分为乘N取整法 #include #include #include double EPS=1.0e-8; int dblcmp(double x) { if(fabs(x)

void Pop(LinkStack *Stack) { if (Stack->top == null) { printf("the stack is empty\n"); return; } SNode *node = Stack->top; Stack->top = node->next; free(node); } void Push(LinkStack *Stack ,SElemType data) { SNode *node = (stru...

void main() { int n,e; LQUEUE *l = new LQUEUE;//指针需要申请内存才可以使用 InitQueue(l);

网络答案,已验证: #include #include struct Node { int data; /*值域*/ struct Node *next; /*链接指针*/ }; struct queue { struct Node *front; /*队首指针*/ struct Node *rear; /*队尾指针*/ }; /*初始化链队*/ void initQueue(struct qu...

具体到int, char, bool,是可以的,因为很巧,这三者都可以用整数值来表示,其他的(double, float之类的)就不行了。 typedef int elemType; 之后直接用elemType就行了。相当于重命名。

网站首页 | 网站地图
All rights reserved Powered by www.prss.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com