关于数据结构方面的,之前我在贴吧发布过的
说说我学链表,栈,队 链表,栈,队列。 学了数据结构,或者正在学的朋友,可能很多人学了并没有运用到可以熟悉的例子上。 楼主是自学的,学历嘛,就初中学历。 不知吧里有没有人像我这样,已经在社会上工作过几年,后来才选择这个IT编程。我学习的环境就是辞去工作,在家自学,看网上的视频加上看书这样。 遇到问题就是在技术群里或者网上查找答复。
下面我聊聊链表的例子。 上面这个学习管理系统。
实现语言是:C语言。
功能: 如上图所示的。
实现的方法: 数据结构的单向链表,然后利用单向链表的思路,进行添加,和删除。
还可以保存到文件中,和读取一个文件。如果你没这个文件,他会自动创建这个文件。
你输入的信息都会保存到文件中。
应用: 链表的应用有很多,比如(我猜的,因为我没有做过)。 比如一些游戏里面的背包,
背包里面有药水,有装备,一个物品栏还能装99瓶药水这样。而装备一个格子只能装一个装备这样。 这样都是链表来实现的
下面我说说顺序存储的例子 这个是顺序存储数据,相对来说,比链表差不多,也麻烦很多
实现的语言:C语言
功能: 上面哪个图
实现的方法:创建一个一维数组,然后把你的数据放在这个数组中,添加一个数据,不够会自动申请空间,不过相对来说,电脑可能会耗很多内存。
删除一个数据,哪就更麻烦,全部数据都要重新搬动。
相对来说,我更喜欢用链表,指针来玩。
下面是队列的例子 实现功能是一些排队的例子,比如你要排队,排的位置,和设定好的排队人数,
和重新设定排队人数,和突然不排队了。
其实我猜LOL的排队选英雄应该和上面这个例子差不多,就是你选择排位模式,然后就是等待时间。或者大乱斗模式,他们都是根据你排队时的位置而去选择定人的,当然他们还设定了,根据胜率这一类而选择排队的 地方。 比如你是经常胜的,就把你放在经常胜的地方排队,差的就放在差的一起排队这样。
实现语言:C语言
队列功能如上。
实现的要求: 数据结构的队列! 数组,链表,都可以做得到。
下面是栈的例子 数据结构〈栈〉的理解就是,先进后出。比如一个盒子,你放第一本书进去,再放第二本书,哪么最先出来的肯定是最上面哪本书。也就是说,后面进来的,肯定是最先出来的。
栈的应用地方:比如(我猜的),CF里面的生化人寻找敌人。他在这条直线上寻找对手,走到尽头,发现是死胡同,并没有对手,就会往后面返回,而栈就能实现这样的功能,
比如走一格就一个数据放进盒子,发现没有敌人,就会返回,返回就是减掉盒子里面的数据,这时候肯定是先减最上面的数据,也就是最初你站的位置,一步一步减去,也就是倒退。不知这样说大家听得懂没
功能: 功能如上图。
实现的语言: C语言
方法:数据结构〈栈〉。我利用栈的知识 写了例子 盖楼和拆楼的模式。
数据结构《循环链表》 写的例子 循环链表的理解: 就是这个结构会像转盘一样走动走下去。猜数字可以写得更简单,当然我为了练习循环链表,可以写了这个例子
实现的语言: C语言
功能就如上图。
实现功能的方法: 1、用数据结构循环链表写出一个转盘,
2、然后随机产生一个转动位置和产生一个转动多少次的数字
3、输入一个数字,
4、然后判断你是否猜对了没
应用: 这个应用到一些抽奖转盘,比如你按了一个转盘,就会转动,然后就会得出相应的奖品,
这样的例子在地下城抽奖, 大家玩过的 游戏抽 奖,也有很多这样的例子
(注:这些实现方法是我猜的,但实际我没有在公司做过)
循环链表的理解: 其实就是像一个转盘一样
页:
[1]