首页 > 代码库 > 华南理工数据结构大作业第一题单链表 删除创建等各种简易操作
华南理工数据结构大作业第一题单链表 删除创建等各种简易操作
#include<iostream> #include<windows.h> #include<string> /* (1) 初始化单链表h; (2) 依次插入5个元素:{“张三” , 85}, {“李四” , 95}, {“王五” , 75}, {“陈军” , 80}, {“程涛" , 90} (3) 输出单链表h的内容; (4) 输出单链表的长度; (5) 输出单链表h的第3个元素; (6) 输入一个姓名(如:陈军),在单链表中查找该元素,输出该元素的编号; (7) 删除第4个元素,并输出被删除元素的内容; (8) 输出单链表h的内容; (9) 释放单链表h。 注意: 每个过程要显示出各种提示信息。如:要求输出单链表的长度,则要显示:当前单链表的长度为:5. */ using namespace std ; struct Student{ string name; int score; } ; typedef Student ElemType ; struct LinkList{ ElemType data ; LinkList * link ; LinkList( LinkList *ptr = NULL ){ link = ptr ;} } ; //重载写这里 istream &operator>>(istream &is,ElemType &c){ is >> c.name>>c.score ; return is ; } ostream &operator<<(ostream &os,ElemType &c){ os << c.name<< c.score ; return os ; } void print(LinkList *first){ LinkList *cur = first ; cur = cur -> link; while (cur != NULL ){ cout <<cur->data <<endl ; cur = cur ->link ; } }//代码有误 //出现的问题在于,first的link是空的,没有接着连接下去 void printlen(LinkList *first){ int length = 0 ; if(first->link == NULL) { cout <<"fuckashole"<<endl ; } while (first != NULL){//cout<<cur->dat<<endl; length++ ; first =first->link ; } cout <<"链表的长度为 : "<< length-1 <<endl; } LinkList *Locate (LinkList *first ,int w_place ) { // 定位函数,插入与删除时用来确定某一位置 int k = 0 ; LinkList *cur = first ; while( k != w_place ) { cur = cur->link ; k++; } return cur ; } void LocPri (LinkList *&first ) { cout <<"请输入您想输出的位置 : "; int lp_number ; cin >> lp_number ; Locate (first ,lp_number ) ; cout <<Locate (first ,lp_number ) ->data <<endl; } void create(LinkList *&first ,int n){ //n就是第一个结点的 cout<<"请输入对象: "<<endl; ElemType n_data ; cin >> n_data ; //first->link = NULL ; //first ->data = http://www.mamicode.com/n_data ;//这边需要用到重载>华南理工数据结构大作业第一题单链表 删除创建等各种简易操作
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。