动态开辟数字链表如何设置结束标志
我希望从键盘上输入一个整数(正负都有),将这个数依次存入动态开辟的链表节点中,如何设置输入结束标志符,使得输入该字符,链表就结束了。我自己设定的是输入0时即结束,后来发现数据中可以出现0,求高人指教实现方法。
[解决办法]
既然你输入的是整数,那就随便找个不是数字的字符abcdefg啥的当结束符呗。
当然,需要按字符串形式接受输入,判断是否结束,不是就用atoi之类的转换一下。
[解决办法]
用的什么输入函数,!=EOF 可以吗?
[解决办法]
转义字符的方法才是值得借鉴的,很多计算机协议都有采用。把0作为终止符,如果要输入0,则必须再引入一个数字作为转义字符放在0的前面。
[解决办法]
方法很多,简单提几种(不探讨优劣)
1.知道自己结点数(静态或者动态获知),循环建表
2.知道数据的取值范围,设定一个范围之外的数值作为结束标志
3.(2的补充)先采集数据,再判断是否建立结点
4.输入数据量较小时候,比如多个数据一整行一次输入,可以使用\n作为结束符
5.数据量较大时读取文件,可以用EOF结束
6.没有6,就想起来这么多吧。
[解决办法]
while(scanf() != EOF)
Ctrl+z or
Ctri+d
退出
[解决办法]