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...