数据结构-链表-作业
来源:互联网 发布:世界经济学家排名 知乎 编辑:程序博客网 时间:2024/06/07 09:58
- 要求大家按照课件中的方式定义链表数据结构,链表的成员函数自己定义,有哪些功能也自己定义,但是必须有如下两个函数:
返回链表中最小的元素:Type SeqList::Get_Min();//使用非递归方式
将链表中元素逆置:List::reverse();//使用递归和非递归两种方式,非递归方式只允许常数单位个额外空间 - 设计主函数,主函数中能够对所作函数进行测试,并且能够将链表中最小值找到,将链表逆置。
解答:
①求链表最小值
//非递归方法void Get_Min(LinkedNode* ptr){ int min = 999999999;//把max故意设置得很大 while(ptr!= NULL) { if(min > ptr->data) min = ptr->data; ptr=ptr->next; } cout<<"最小值为:"<<min<<endl;}
//递归方法int Get_Min(Node * ptr){ if(ptr->next == NULL) return ptr->data; return ptr->data > Min(ptr->next) ? Min(ptr->data) : ptr->data;}
②链表元素逆置的方法
//递归方法void Reverse(LinkedNode* pCur,LinkList& ListHead) { if( (NULL==pCur)||(NULL==pCur->next) ) { ListHead=pCur; } else { LinkedNode* pNext=pCur->next; Reverse(pNext,ListHead); //递归逆置后继结点 pNext->next=pCur; //将后继结点指向当前结点。 pCur->next=NULL; } }
//非递归方法void Reverse2(LinkList& ListHead) { cout<<"Begin to Reverse the List"<<endl; if( (NULL==ListHead)||(NULL==ListHead->next) )return ; //边界检测 LinkedNode* pPre=ListHead; //先前指针 LinkedNode* pCur=pPre->next; //当前指针 LinkedNode* pNext=NULL; //后继指针 while(pCur!=NULL) { pNext=pCur->next; pCur->next=pPre; pPre=pCur; pCur=pNext; } ListHead->next=NULL; ListHead=pPre; //记录下新的头结点
0 0
- 数据结构-链表-作业
- 【数据结构作业 链表 + BFS + DFS】
- 数据结构作业。
- 数据结构作业
- 数据结构作业
- 数据结构作业
- 数据结构作业
- 数据结构作业
- 数据结构作业
- 数据结构作业
- 数据结构作业
- 数据结构作业
- 数据结构作业
- 数据结构作业
- 数据结构作业
- 第二次数据结构作业
- 完成数据结构大作业
- 数据结构作业-1
- HashMap源码分析
- 关于内链优化的几个细节问题
- Disabling contextual LOB creation as createClob() method threw error : java.lang
- 内存管理-----伙伴系统---2
- 矩形相关操作
- 数据结构-链表-作业
- mybaties自动创建代码
- leetcode 083 Remove Duplicates from Sorted List
- pretrain ConvNet 转接和fine-tuning
- 如何在DW中设置自动列宽
- c++实验5-求和
- UVA 11478V Halum 二分答案+差分约束系统
- 我的第一个Python程序
- HDU 2053 Switch Game(数学题)