自己用C语言写的双链表代码 (没看书) ,不知是否有错 或者 不规范的地方 请指出_百度知道
自己用C语言写的双链表代码 (没看书) ,不知是否有错 或者 不规范的地方 请指出
%d",&n);%d&data =n\}!=n-1)
p-& return 0;data);;\ } h-&n&data);next = NULL;last)
printf(&n\int main(void){ struct list*),p = p-&last = NULL; p = h!=0)
p->.h>,p-&%d\t& struct list*last = p-1;data);next)
printf(&i&t",p-& scanf(&next = p+1; printf(&%d&;;; printf(&%d\ p = h = (struct list*)malloc(sizeof(struct list)*n),n; printf(",p = p->,p->.h&# include & while(p-& for(i=0; while(p-&
if(i,p++) {
p-&;n\ struct list*n\struct list{data); struct list* next,p-&i++; (p-1)-&n# include <
提问者采纳
p = p->,p->,从左往右算的。链表可以写写中间插入或者删除一个元素,while(p-&data);t"。另外,这个比较好玩一点;%d\,没有问题;last。然后把这些操作都封装到函数里面去,建议命名不要用
逗号运算符是为了节约括号吗;last)
printf(&没什么错误
提问者评价
太给力了,你的回答完美解决了我的问题!
来自团队:
其他类似问题
为您推荐:
双链表的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁使用单链表建立一个简易图书借阅表。每个记录包括:图书编号、名称、借阅次数。要求:_百度知道
使用单链表建立一个简易图书借阅表。每个记录包括:图书编号、名称、借阅次数。要求:
(2)查找借阅次数最多和最少的图书记录、名称,显示其编号。(3)在指定图书结点之前插入一新的结点,并返回成功与否的标志(1)建立n个结点(结点数据域的值由键盘输入)构成的单链表
提问者采纳
while(now)
head-&请输入借书次数;i:&&&GetData()-&}D<:;}void N } else {
Node *now=GetBorrow()<:ShowMix()const{ Node *node=head-&&}int Dstring& void Insert(int id);iostream>:;说明; next=NULL:Data(&&&":":ShowMax()const{ Node *node=head-& cout<:;&GetData()-&#include &t借阅次数为:;/t书名\ while(node) {
cout& int GetId() } cout&}class List{&&GetData()-&编号
l-&L尾结点};}/ void ShowMax()请输入编号; Node* GetNext()&GetNext();Show(); if(; l-& cout<:SetNext(Node *n){ next=n;&GetData()-&&ShowMax();& l-&<:;
node-&GetId()==id)
}N l-&&/D void SetId(int i);/:&<:Show()const{ Node *node=max->,保存结点的信息我用c++写的,b):GetName()const{ return name,node为结点类;GetId()&& Node(Data *d);GetData()->:Node(Data *d){ data=d;N}void D Data* GetData()const,int b){ id=i://\t借阅次数",把代码发给你;SetNext(head):;&&& Data(/ void SetName(string n); string GetName()}class Node{GetId()<: Node *SetNext(node): Node();GetData()-&&t&Insert(2);}string DGetData()-&GetNext();GetName()&GetData()-&GetName()&}void N&<:; cin&借阅次数最多的图书信息如下;>:SetBorrow(int b){ borrow=b:data类为数据类;Show(); void Show() name=n:,按你的要求写的;n;Insert(2);&&ID;node-&node-&SetNext(NULL):;下一结点};t& } cout&}void L& void SetBorrow(int b);&}void L&\&&t图名为; borrow=0;
node=node-&":
Node *node=new Node(d);using namespace std:,list为链表类,保存图书的基本信息;;endl。不懂的可以留言(www,就不发你邮箱了;SetNext(now);/:; next=NULL;node->.&max->:Node(){ data=NULL;max->:Insert(int id){ ":Data(){ id=0;}void Data
程序中,常用的函数,以及头文件之类的是不是和tc一样?
提问者评价
非常的感谢
来自团队:
其他类似问题
为您推荐:
单链表的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁链表 我删除编号为1的图书直接崩溃_百度知道
链表 我删除编号为1的图书直接崩溃
} while(p1-&<,操作失败;&num&&endl!&num=atoi( p2=p1;next=l->,操作失败,操作失败;& cin&&
<,以0退出&&&
} } delete p1; } p1-&
cin&num==num)
l=&str!=0) {
cout&price=atof( while(cheak(str)==false) {
cout& } p1-&&
cin&&&&head-&&图书的价格;
cout&操作成功;&请输入图书的价格&
while(head)
delete l,int num){ book *l!&&图书信息如下&&&num==num)
l=head-&&&
cin&&&& while(cheak(str)==false) {
p2-&&&next==NULL)
cout&&请输入0到9的数字".c_str());
head-&&next=NULL; ;&head-&&找不到该数;endl! &' book *p1;
cin&请输入0到9的数字&
head=head-&
while(cheak(str)==false)
:;请输入0到9的数字&next=p1;&p2->.c_str());&请输入图书的编号;next:&
cout& } else {
delete p1;请输入图书的价格&num=atoi(&&&&&&&
return.c_str());}void showbook(book *head){ cout&
cin&<!&price<:&
p1-&&&next=NULL;&endl!=0)
cout&&&<,*p2;
while(cheak(str)==false)
cout& if(head==NULL) {
cout&&&p2=NULL;&&&&
if(head-& cout&str!=0) {
head=head-&<!&请输入图书的编号; p1=&t'& if(p1-&&&&\ head=p1.c_str());&next-&操作成功; cout&图书的编号,以0退出& }}void Delete(book *请输入0到9的数字&找不到该数; }
if(head-&& while(head) {
cout&&&&该链表为空;head=NULL;price=atof(&& p2->:head=head-&<book* creat(){ string str
next==NULL)肯定就报错了;
::head=head->。while(head)if(head-&
head指向的对象已经用delete l释放掉了l=head
好像并不是
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}