![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构作业函数题
南风~古草
贵州大学软件工程专业大三,学子彦秉成。立志于笃行求是,践行人生信仰的奋斗者!
展开
-
编写函数Slim,其功能为:对一个带头节点有序递增单链表L,去除其中所有的重复元素。(C语言函数题)
void Slim(struct Node *L){ struct Node *p,*q; p=L->next; while(p!=NULL){ while(p->next!=NULL&&p->Data==p->next->data){ q=p->next; p->next=q->next; free(q); } p=p->next; }}原创 2022-01-04 10:53:36 · 952 阅读 · 0 评论 -
已知二叉树采用顺序存储,结点数据为非负整数,空树为-1,编写函数Exchange,交换树中所有结点的左右子树。(C语言函数题)
void Exchange(int a[]){ if(a[0]==-1){ return; } int i,j,k=2,flag; do{ i=pow(2,k-1)-1; j=pow(2,k)-2; flag=0; while(i<j){ if(a[i]!=-1||a[j]!=-1){ int temp=a[i]; a[i]=a[j]; a[j]=temp; flag=1; } i++; j--; } k++.原创 2022-01-04 14:30:00 · 398 阅读 · 0 评论 -
编写函数Father,对二叉树T中的给定节点P,返回P的父节点指针;若P为根节点,返回NULL。(C语言)
struct TreeNode *Father(struct TreeNode *T,struct TreeNode *p){/*根据已知节点求父节点的核心代码*/ if(T==NULL||T==p||p==NULL){/*T==p说明p是根节点,所有没有父节点*/ return NULL; } if(T->left==p||T->right==p){/*在递归过程中除根节点以外的所有节点总会先被这句代码检查一次,所以T==P只会在根节点处可能被成功触发*/ retu.原创 2022-01-04 21:30:00 · 563 阅读 · 0 评论 -
13、编写函数Father,对二叉树T中的给定节点P,返回P的父节点指针;若P为根节点,返回NULL。
struct TreeNode *Father(struct TreeNode *T,struct TreeNode *P,int height){ if(T==NULL||(height==1&&T->data==P->data)){ return NULL; } if(T->left!=NULL&&T->left->data==P->data||T->right!=NULL&&am.原创 2021-10-28 21:30:41 · 404 阅读 · 1 评论