哈夫曼编/译码器

#include

#define MAX 1000

#define MAXSYMBS 30

#define MAXNODE 59

typedef struct

{

int weight;

int flag;

int parent;

int lchild;

}huffnode;

typedef struct

{

int bits[MAXSYMBS];

int start;

}huffcode;

main()

{

huffnode huff_node[MAXNODE];

huffnode huff_code[MAXSYMBS],cd;

int i,j,m1,m2,x1,x2,n,c,p;

char symbs[MAXSYMBS],symb;

clrscr();

printf("please input the leaf num of tree:\n");

scanf("%d",&n);

for (i=0;i<2*n-1;i++)

{

buff_node[i].weight=0;

buff_node[i].parent=0;

buff_node[i].flag=0;

buff_node[i].lchild=-1;

buff_node[i].rchild=-1;

}

printf("please input the weight of every leaf\n");

for (i=0;i

scanf("%d",&huff_node[i].weight);

for (i=0;i

{

n1=m2=MAX;

x1=x2=0;

for (j=0;j

{

if (huff_node[j].weight

{

m2=m1;

x2=x1;

m1=huff_node[j].weight;

x1=j;

}

else if (huff_node[j].weight

[j].flag==0)

m2=huff_node[j].weight;

x2=j;

}

}

huff_node[x1].parent=n+i;

huff_node[x2].parent=n+i;

huff_node[x1].flag=1;

huff_node[x2].flag=1;

buff_node[n+i].weight=buff_node[x1].weight+buff_node

[x2].weight

buff_node[n+i].lchild=x1;

buff_node[n+i].rchild=x2;

}

for (i=0;i

{

cd.start=n;

c=i;

p=huff_node[c].parent;

while(p!=0)

{

if (huff_node[p].lchild==c)

cd.bits[cd.start]=0;

else

cd.bits[cd.start]=1;

cd.start=cd.start-1;

c=p;

p=huff_node[p].parent;

}

cd.start++;

for (j=cd.start;j<=n;j++)

huff_code[i].bits[j]=cd.bits[j];

huff_code[i].start=cd.start;

}

puts("the hafman code are:");

for (i=0;i

{

for (j=huff_code[i].start;j<=n;j++)

printf("%10d,huff_code[i].bits[j]");

printf("\n");

}

puts("press any key to quit……");

getch();

}

约瑟夫环

#include

typedef struct node

{int num;

struct node *next;

}linklist;

linklist *creat(head,n)

linklist *head;

int n;

{linklist *s,*p;

int i;

s=(linklist *)malloc(sizeof(linklist));

head=s;

s->num=1;

p=s;

for(i=2;i<=n;i++)

{s=(linklist *)malloc(sizeof(linklist));

s->num=i;

p->next=s;

p=s;

}

p->next=head;

return head;

}

linklist *select(head,m)

linklist *head;

int m;

{linklist *p,*q;

int i,t,n;

p=head;

t=1;

q=p;

do

{p=q->next;

t=t+1;

if(t%n==0)

{printf("%4d",p->num);

q->next=p->next;

free(p);

}

else q=p;

}while(q==p);

head=p;

return(head);

}

main()

{int n,m;

linklist *head;

printf("input the total number\n");

scanf("%d",&n);

printf("input the number to call:\n");

scanf("%d",&m);

creat(head,n);

select(head,m);

printf("the last one :is\n",head->num);

}

◆◆

评论读取中....

请登录后再发表评论!

◆◆

修改失败,请稍后尝试

数据结构c语言版题库含答案,求数据结构c语言版的习题和答案?相关推荐

  1. 计算机操作系统第四版题库,汤子瀛计算机操作系统第4版配套题库(含名校考研真题)...

    进思学习网提供下载: 汤子瀛<计算机操作系统>(第4版)配套题库[名校考研真题+课后习题+章节题库+模拟试题] **部分 名校考研真题 2009年全国硕士研究生入学统一考试计算机科学与技术 ...

  2. 湖南大学C语言作业用oj吗,湖南大学C语言题库(含答案)

    <湖南大学C语言题库(含答案)>由会员分享,可在线阅读,更多相关<湖南大学C语言题库(含答案)(50页珍藏版)>请在人人文库网上搜索. 1. ? ? ? ? ? ? ? ? ? ...

  3. c语言编程求连续几日的温差最大 最小值,数控维修理论题库(含答案)X2份..doc

    数控维修理论题库(含答案)X2份. 数控装调维修工中级理论复习题库(含答案) (一)单项选择 (选择一个正确的答案,将相应的字母填入题内的括号中.) 1.伺服系统是数控系统的执行部分,它包括伺服驱动单 ...

  4. 厦门大学c语言第七八章作业答案,数据结构第七章考试题库(含答案).doc

    数据结构第七章考试题库(含答案).doc 第七章 图一.选择题1图中有关路径的定义是( ).[北方交通大学 2001 一.24 (2分)]A由顶点和相邻顶点序偶构成的边所形成的序列 B由不同顶点所形成 ...

  5. 假设当年产值为100c语言答案,C语言程序设计试题题库含答案zdui.doc

    C语言程序设计试题题库含答案zdui 班号姓名 C语言 试 题 题号一二三四五六七八九十总分附加题分数 一.选择题:(20分,每题2分) 1.以下不正确的C语言标识符是( ). A. ABC B. a ...

  6. 假设当年产值为100c语言答案,C语言程序设计试题题库含答案zdui汇总.doc

    C语言程序设计试题题库含答案zdui汇总 班号姓名 C语言 试 题 题号一二三四五六七八九十总分附加题分数 一.选择题:(20分,每题2分) 1.以下不正确的C语言标识符是( ). A. ABC B. ...

  7. 计算机c语言二级题库及答案txt,计算机二级c语言题库及答案

    计算机二级c语言题库及答案Tag内容描述: 1.2016年计算机二级c语言题库及答案一.选择题(每小题1分,共40小题,共40分)1.设循环队列的存储空间为Q(1:35),初始状态为front=rea ...

  8. c语言书籍推荐国二,推荐国二c语言笔试题库(含答案)可转TXT.doc

    推荐国二c语言笔试题库(含答案)可转TXT 第一章 C语言概述 一 单项选择题 1.一个C程序的执行是从( A ). A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开 ...

  9. 48道C语言上机题参考答案,二级C语言上机题库参考答案(已修改).doc

    二级C语言上机题库参考答案(已修改).doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印 ...

最新文章

  1. Ubuntu .deb包安装方法
  2. [crypto]-01-对称加解密AES原理概念详解
  3. c运行库、c标准库、windows API都是什么玩意
  4. 基础练习 01字串 c语言
  5. 今日代码(200612)--数据录入(python+mysql)
  6. oracle客户端安装后,oracle客户端安装
  7. python方向键控制角色_python方向键控制上下左右代码
  8. LCD液晶显示的51单片机简单计算器
  9. Linux命令解释之df
  10. JQuery左右切换实现
  11. 年轻人的第一个自定义Springboot starter
  12. 数据库学习--数据库基本概念
  13. java毕业生设计校园租赁系统的设计与实现计算机源码+系统+mysql+调试部署+lw
  14. HDU 6437 最小费用最大流
  15. 量化投资学习——多因子权重组合优化问题
  16. 猫哥教你写爬虫 041--模拟登录-cookie
  17. Altium Designer PCB 插入图片logo的方法
  18. 最全面最详细的测试用例整理
  19. 七牛云被攻击偷跑流量
  20. 我的互联网金融行业经验总结

热门文章

  1. 普通的PHP上传到云函数,php封装上传函数代码示例
  2. linux中存放着内核和引导程序的是,Linux操作系统 考试题库
  3. 为什么老是把词语读反_关于语言表达 6岁儿童经常把词语顺序念反
  4. 2019年开源安全现状调查报告发布
  5. 在启动时从配置文件中读取对象
  6. git ssh配置完后拉取代码_使用git在gitlab上拉取代码的方法
  7. httos双向认证配置_APP爬虫双向认证抓包的两种方法
  8. 前n个正整数相乘的时间复杂度为_初一数学常考的21个知识点,掌握好,轻松110+!...
  9. 图像去雾算法_Matlab:单幅图象的暗原色先验去雾改进算法,能够很好地改进天空或明亮部分色彩失真问题...
  10. 驱动备份工具哪个好_互联网推广工具哪个好