作者shieldsky (soarfox)
看板C_and_CPP
标题[问题] linked list的插入、删除(详情请入内)
时间Sat Oct 31 22:40:16 2009
大家好!我最近在写一个C语言linked list的作业,
但我写完之後,不论怎样更改程式码,
在输入一些节点後,选择删除掉某些节点,删除完就会出现一些小问题,
可能是某个後端节点的值被删掉後,却莫名地在最前端多出一个0值,
或者删除掉前端节点的值後,前端节点反而变成一个乱数值!
因为自己已经想了好几天,也翻过板上的文章与,
自己手边唯一一本C语言教学手册也看了好久,但总是无法修正这些BUG,
所以才POST到板上,希望能够获得解决的办法,谢谢各位。
以下是题目要求:
1.请使用链结串列 (Linked List) 资料型态完成程式。
2.使用者可以选择 1.新增节点 或 2.删除节点 两种功能。
3.使用者选择功能後,输入一数字,必须在串列中找到适当的位置,插入或移除该节点。
4.执行功能後将串列完整印出,并回到功能选择的步骤。
开发平台:Windows XP
使用语言:C语言
使用软体:DEV-C++ version 4.9.9.2
有问题的code:
http://nopaste.csie.org/60b0d
补充说明:
虽然这个题目的程式码自己前前後後写了好几次才有今日的雏形,
但总觉得自己还是不太清楚我到底是了解linked list的基础了没?
好像常有一种似懂非懂的不确定感在漂浮着,请问有无什麽检验自己观念的方法呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.41.168.55
※ 编辑: shieldsky 来自: 114.41.168.55 (10/31 22:43)
1F:推 dendrobium:推这篇 10/31 22:56
2F:→ dendrobium:你的code好像有贴错位置 10/31 22:58
能请问是哪里贴错了吗?
3F:推 williamyu:把pointer的位址印出来看吧,这样比较清楚 10/31 23:29
好,感谢提供此方法,十分受用。 :)
4F:推 dreamroad:你的funtion怎麽都写在main里头? 是新式还是旧式写法吗 11/01 09:18
新式?旧式?我想Function写在main function的外部或内部,
应该是看个人习惯与程式需求喔!虽然写在main function中比较节省记忆体使用量。XD
※ 编辑: shieldsky 来自: 114.41.168.55 (11/01 19:53)
5F:推 VictorTom:function写在main里会比较节省记忆体?_? 11/01 19:55
6F:→ netsphere:第一次看到把 function 写在main里 ... gcc没办法跑 11/01 20:01
7F:推 VictorTom:我记得function写在function里是可以的, struct好像也是 11/01 20:04
8F:→ VictorTom:通常是用在仅供区域使用的地方, 不过code会更难维护吧? 11/01 20:05
9F:→ VictorTom:只是, 写在main里的话不太懂为什麽比较省记忆体....@_@" 11/01 20:06
我同学、助教都说写在main function中会比较节省记忆体噎!因为只有main function可
以使用它们,这样子那些function就不会从头到尾都占用着某部分的记忆体空间。
因为只有main function在运作时,才会使用到那些function,
如果今天一个程式没有在跑main function时,
则不会让那些function一直占用着某部分的记忆体空间。
当然,如果说一个程式内就只有一个main function在运作时,其实两者就没太大差别了。
p.s.一时之间也不知道该怎麽解释,因为近来身体不适,脑筋有点混乱,希望文辞有达意。
※ 编辑: shieldsky 来自: 114.41.168.55 (11/01 20:27)
※ 编辑: shieldsky 来自: 114.41.168.55 (11/01 20:28)
10F:推 james732:c语言有巢状函式的机制...???? 11/01 20:31
11F:推 VictorTom:有@_@" 但是, 我不觉得这样写会省到记忆体, 更不用说 11/01 20:43
12F:→ VictorTom:main function可是从头到尾都活着吧....@_@" 11/01 20:43
13F:→ james732:同意楼上,实在不觉得会省到什麽记忆体.... 11/01 22:49
14F:→ remmurds:良好的程式撰写习惯跟节省记忆体哪个重要?我觉得是前者.. 11/01 23:07
15F:推 ledia:到写大系统时都很重要, 缺一不可 11/02 10:44