东北大学2023年考研程序题

发布 2022-06-10 21:16:28 阅读 1915

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 exchange(bitree t)

if(t=null) return null;else

根据前序和中序序列分别建立二叉链表//结点的data为整型存放在数组当中。

基本思想:建立根结点:找先序下第一个结点,在中序中找到根结点,分出左右子树序列。

建立左子树,返回左子树根,根左孩子为左子树根,建右子树,返回右子树根,根右孩子为右子树根。

pre:pre_start

根 in:i

左子树的起止位置都是通过pre_start,in_start和leftlen算出来的。

右子树的起止位置 pre_end,in_end和rightlen算出来的。

bitree

build_sub

pre_start

pre_end

in_start

in_end

leftlen

rightlen

srootpre

inbitree build_sub(int pre_start,int pre_end,int in_start,int in_end)

sroot=(btnode*)malloc(sizeof(btnode));

sroot->data=pre[pre_start];

for(i=in_start;in[i]!=sroot->data;i++)

leftlen=i-instart;

rightlen=in_end

if(leftlen)

if(rightlen)

return sroot;

东北大学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年考研程序题

c语言。输入n个数,编写递归函数,求出n个数中的最大值。基本思想 将当前数组划分为第一元素和剩下元素。第一元素与剩下元素当中的最大值就是最大元素。剩下元素成为当前数组。直到数组中只有一个元素。运行通过 include int max int a,int n if i m 1 else return ...

东北大学2023年考研程序题

c语言。三。有一个已排序的英文词典文件,每一个词条的格式为 词语 词性 例句。例如 book n this is a book student n i am a student 编写程序根据二分查找远离在文件查找制定单词的词条并输出 四。n个人围成一圈。从第1个人开始计数,凡是数到1,2,4.2 k...