c语言。
三。有一个已排序的英文词典文件,每一个词条的格式为
词语/词性/例句。
例如: book/n/this is a book
student/n/i am a student
编写程序根据二分查找远离在文件查找制定单词的词条并输出
四。n个人围成一圈。从第1个人开始计数,凡是数到1,2,4...2^k...的人退出圈子。
输出这n个人退出的顺序。要求用链表结构。
bool judge_bi(int a)//判断是否是2的幂次的函数。
while(a)
void getout_circle(int n)
l=(linklist)malloc(sizeof(lnode));
p=l->next;
p->data=1;
for(i=2;i<=n;i++)
p->next=l;//到这一步建立了循环链表。
p=l->next;
int k=1;//计数器。
while(n>0)
p=p->next;
数据结构。二。
平衡二叉树每个结点都标明了平衡因子b,建立结点结构,求二叉树的高度。
typedef struct bitnode
三。有向图g有n个点(1,2,..n表示),e条边,给出邻接表的结点结构,建立邻接表。
并根据邻接表生成逆邻接表。
typedef struct arcnode
for(k=0;karcnum;k++)
void get_ni_linjie(graph)
for(i=0;ivexnum;i++)
for(i=1;i<=
for(p=>next)
w=p->adjvex;
s=(arcnode *)malloc(sizeof(arcnode));
s->adjvex=w;
s->nextarc=g->abvertices[i].firstarc;
g->vertices[i].firstarc=s;
四。将两个二叉排序树合并成一个二叉排序树,没有重复关键字,要求最少空间和时间。
基本思想:按后序将一棵树的元素逐个连接到另一棵树上。
void bstree_merge(bitree &t,bitree &s)
if(s->lchild) bstree_merge(t,s->lchild);
if(s->rchild) bstree_merge(t,s->rchild);
insert_key(t,s);
void insert_node(bitree &t,btnode *s)
if(s->data>t->data)
else if(s->datadata)
s->lchild=null;//插入的新结点与原来的左右子树断绝关系。
s->rchild=null;
东北大学2023年考研程序题
c语言。试编写一个程序,显示指定文件中的内容,要求每行中显示的字符数不超过30个。基本思想 fgets a,30,fp 读30个显示30个。void print char p file fp char buffer 30 if fp fopen p,r null while fgets buffer...
东北大学2023年考研程序题
1.写出将循环单链表中结点x的直接前驱删除的算法,x为指针,且从x出发进行删除。void delete linklist l,lnode x p x while p next next x p p next q p next p next x free q 设计算法将二叉树的左右孩子互换。void ...
东北大学2023年考研程序题
c语言。输入n个数,编写递归函数,求出n个数中的最大值。基本思想 将当前数组划分为第一元素和剩下元素。第一元素与剩下元素当中的最大值就是最大元素。剩下元素成为当前数组。直到数组中只有一个元素。运行通过 include int max int a,int n if i m 1 else return ...