数据结构算法问题,不会。希望大家给个代码参考。谢谢 20

1.假设有一个顺序存储结构表示的循环队列,请编写一个算法,计算该队列中当前所含有的元素个数。2.已知一棵完全二叉树用顺序存储结构表示,请编写一个C语言程序,对这棵二叉树进... 1.假设有一个顺序存储结构表示的循环队列,请编写一个算法,计算该队列中当前所含有的元素个数。
2.已知一棵完全二叉树用顺序存储结构表示,请编写一个C语言程序,对这棵二叉树进行先序遍历。
3.在一段文字中10个常用汉字及出现的频度如下:
的 地 得 于 个 和 在 再 是 有
26 6 4 15 7 6 8 5 18 5
试为这些常用汉字设计哈夫曼编码表。
展开
 我来答
wuting517
2013-12-12 · TA获得超过237个赞
知道小有建树答主
回答量:257
采纳率:100%
帮助的人:200万
展开全部
#include<iostream>
using namespace std;
#define MAX_QSIZE 5
typedef int ElemType;
typedef struct SqQueue
{
ElemType *base;
int front;
int rear;
};
void InitQueue(SqQueue *&Q)
{
Q=(SqQueue *)malloc(MAX_QSIZE*sizeof(SqQueue));
Q->rear=Q->front;
}
int EmptyQueue(SqQueue *Q)
{
if(Q->rear==Q->front)
return 0;
else
return 1;
}
void DestroyQueue(SqQueue *Q)
{
if(Q->base)
free(Q->base);
Q->base=NULL;
Q->front=Q->rear;
}
void ClearQueue(SqQueue *Q)
{
Q->rear=Q->front;
}
int LenghtQueue(SqQueue *Q)
{
return (Q->front-Q->rear+MAX_QSIZE)%MAX_QSIZE;
}
int EnQueue(SqQueue *&Q,ElemType &e)
{
if((Q->rear+1)%MAX_QSIZE==Q->front)
return 0;
else
Q->base[Q->rear]=e;
Q->rear=(Q->rear+1)%MAX_QSIZE;
return 1;
}
int DeQueue(SqQueue *&Q,ElemType &e)
{
if(Q->rear==Q->front)
return 0;
else
e=Q->base[Q->front];
cout<<e<<endl;
Q->front=(Q->front+1)%MAX_QSIZE;
return 1;
}
int main()
{
SqQueue *Q;
InitQueue(Q);
int a[9]={0,1,2,3,4,5,6,7,8};
for(int i=0;i<9;i++)
{
EnQueue(Q,a[i]);
}
for(i=0;i<9;i++)
{
DeQueue(Q,a[i]);
}
cout<<LenghtQueue(Q)<<endl;
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yang_bigarm
2013-12-11 · TA获得超过3949个赞
知道大有可为答主
回答量:1664
采纳率:100%
帮助的人:625万
展开全部
1 去百度搜: 队列的C语言实现 - 开源中国社区
2 哈夫曼编码的代码较长,所以还是你自己去网上搜:哈夫曼编码 - 开源中国社区,或者哈夫曼编码详解就能找到答案。

这些代码都含有详细的注释,希望你能慢慢看懂。
追问
我就要一下算法实现,其他多余的不用。能不能给个算法代码?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式