插入字母(链式队列应用)
来源:互联网 发布:windows webpack 编辑:程序博客网 时间:2024/04/30 02:16
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct Word
{
char word;
int woca;
struct Word *next;
}word,* Pword;
typedef struct queue
{
Pword front;
Pword rear;
}Queue,* Pqueue;
void init_queue(Pqueue Q)
{
Q->rear=Q->front=(Pword)malloc(sizeof(word));
if(Q->rear==NULL)
{
printf("分配内存失败!");
exit(-1);
}
Q->front->next=NULL;
}
void en_queue(Pqueue Q,char val)
{
Pword S;
S=(Pword)malloc(sizeof(word));
S->word=val;
S->next=NULL;
Q->rear->next=S;
Q->rear=S;
}
bool de_queue(Pqueue Q)
{
Pword S=Q->front->next;
if(Q->front==Q->rear)
return false;
else
{
{
Q->front->next=S->next;
free(S);
S->next=NULL;
}
return true;
}
}
bool traverse_queue(Pqueue Q)
{
Pword S;
S=Q->front->next;
if(Q->front==Q->rear)
return false;
else
{
while(S!=Q->rear->next)
{
printf("%c",S->word);
S=S->next;
}
printf("\n");
return true;
}
}
int main()
{
char val;
int i,n,m;
char k;
Queue Q;
init_queue(&Q);
for(i=1;i<=26;i++)
{
scanf("%c",&val);
getchar();
en_queue(&Q,val);
}
scanf("%d",&n);
getchar();
for(i=1;i<=n;i++)
{
k=getchar();
getchar();
if(k%2)
en_queue(&Q,k);
else
de_queue(&Q);
}
traverse_queue(&Q);
return 0;
}
#include <stdlib.h>
#include <string.h>
typedef struct Word
{
char word;
int woca;
struct Word *next;
}word,* Pword;
typedef struct queue
{
Pword front;
Pword rear;
}Queue,* Pqueue;
void init_queue(Pqueue Q)
{
Q->rear=Q->front=(Pword)malloc(sizeof(word));
if(Q->rear==NULL)
{
printf("分配内存失败!");
exit(-1);
}
Q->front->next=NULL;
}
void en_queue(Pqueue Q,char val)
{
Pword S;
S=(Pword)malloc(sizeof(word));
S->word=val;
S->next=NULL;
Q->rear->next=S;
Q->rear=S;
}
bool de_queue(Pqueue Q)
{
Pword S=Q->front->next;
if(Q->front==Q->rear)
return false;
else
{
{
Q->front->next=S->next;
free(S);
S->next=NULL;
}
return true;
}
}
bool traverse_queue(Pqueue Q)
{
Pword S;
S=Q->front->next;
if(Q->front==Q->rear)
return false;
else
{
while(S!=Q->rear->next)
{
printf("%c",S->word);
S=S->next;
}
printf("\n");
return true;
}
}
int main()
{
char val;
int i,n,m;
char k;
Queue Q;
init_queue(&Q);
for(i=1;i<=26;i++)
{
scanf("%c",&val);
getchar();
en_queue(&Q,val);
}
scanf("%d",&n);
getchar();
for(i=1;i<=n;i++)
{
k=getchar();
getchar();
if(k%2)
en_queue(&Q,k);
else
de_queue(&Q);
}
traverse_queue(&Q);
return 0;
}
0 0
- 插入字母(链式队列应用)
- 链式队列(c),插入排序仅供参考
- 链式队列插入元素实现
- 链式队列定义以及应用
- (九)链式队列以及优先级队列应用
- 数据结构 c语言实现链式循环队列(输入数字入队 输入字母出队)
- 链式队列的基本应用(接上篇)
- (六)链式队列
- 队列(链式)
- 队列(链式)
- 队列优化(链式)
- LinkList_Queue(链式队列)
- 数据结构与算法(Java描述)-10、链式队列以及优先级队列的应用
- 数据结构队列(链式实现)
- 队列的实现(链式)
- 链式队列(C实现)
- Java队列(链式实现)
- 队列(三):链式存储队列
- acm-BiliBili, ACFun… And More!
- Web黑客工具箱之LiveHttpHeaders
- poj2184(01背包变形)
- Hibernate乐观锁和悲观锁浅析
- java synchronized 详解
- 插入字母(链式队列应用)
- CStringArray
- HDU 2602 Bone Collector(DP:01背包)
- HTML5 Tutorial,老生常谈了吗?
- SenchaTouch调试浏览器加载本地资源报错问题
- 愛的開始到愛的離開
- POJ 2955 Brackets
- 2014-项目二-对象作为数据成员
- HTML5 < !DOCTYPE >声明