中易网

dev c++ 中怎么创建链表。。

答案:3  悬赏:70  
解决时间 2021-04-07 01:30
RT,本人初中党一枚,正在pascal转c++ = =答案尽量简单些,有注释,谢了【顺便问一下malloc和new区别
最佳答案
1、C++有很多库,标准模板库有现成的list模板类型,不用自己再创建和维护链表,毕竟是众多智慧的结晶;
也可以自己创建链表,当然维护和使用不是很方便。

STL中list的使用:
STL中的list就是一双向链表,可高效地进行插入删除元素。现总结一下它的操作。
文中所用到两个list对象c1,c2分别有元素c1(10,20,30) c2(40,50,60)。还有一个list<int>::iterator citer用来指向c1或c2元素。
list对象的声明构造():
A. list<int>c0; //空链表
B. list<int>c1(3); //建一个含三个默认值是0的元素的链表
C. list<int>c2(5,2); //建一个含五个元素的链表,值都是2
D. list<int>c4(c2); //建一个c2的copy链表
E. list<int>c5(c1.begin(),c1.end());
//c5含c1一个区域的元素[_First, _Last)。

2、malloc和new都是分配内存,malloc使用起来复杂些,要计算分配空间的大小,new就不用;
malloc和free配合使用,而new和delete配合使用。
全部回答
用标准库,里面有list和forward_list,include到工程里面直接用就行,如:list<string> svec(10,"hi!");//十个string类型数据"hi!" malloc是C语言中的申请内存函数,申请成功返回申请到内存的首地址,C++里用new操作符来申请内存。
本题的一个完整的c程序如下,程序在win-tc和dev-c++下都调试通过。 #include #include struct list { int data; struct list *next; }; typedef struct list node; typedef node *link; int main() { int i,n; link ptr,q,head; head=(link)malloc(sizeof(node)); ptr=head; printf("please input array. when input is -1, end.\n"); while(scanf("%d",&n),n!=-1) { ptr->data=n; ptr->next=(link)malloc(sizeof(node)); q=ptr; ptr=ptr->next; } q->next=null; free(ptr); ptr=head; while(ptr!=null) { printf("the value is ==>%d\n",ptr->data); ptr=ptr->next; } free(head); system("pause"); return 0; }
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
中镜科仪分析测试中心透射电镜和扫描电镜测试
大连大嘴个人资料
手机qq浏览器下载的文件在哪里
姚徐林业队这个地址在什么地方,我要处理点事
河内、胡志明市、曼谷的地理位置有哪些相似的
你好 全新途胜珍珠白配什么样的内饰好看 我们
SOS 老师让以 班级以我为荣 办手抄报帮找点
12309的举报内容包括那些?
直饮水机的水与桶装水有什么区别
吕雉为什么不让自己儿子做皇帝或刘邦刘氏家族
我在linux下执行了start-dfs.sh命令后,说这
做完形填空英语的技巧
adidas三叶草红色裤子多少钱要正品的看到一个
电脑开机后卡在主板那个界面了(intel Deskto
遮暇的 哪些好用?遮瑕膏?遮瑕霜?遮瑕笔?遮暇
推荐资讯
请问有那种全拼的背英语单词的app吗 不想用选
报到证报道期限快到了,去办落户,但是因为公
求推荐一款方便携带的笔记本电脑
高分,关于手机充电的问题
读取的英文是什么
Win10系统,电脑产生垃圾文件,怎么清理?
Windows github客户端怎么合并一个分支到mast
龙虎网络游戏做洗码代理有风险吗
刑法有危险起源罪吗
好运彩吧在什么地方啊,我要过去处理事情
和XX公司签订生活垃圾处理怎么签?
我今天将会把卡寄给你,请帮忙签收并转交给Mik
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?