本故事纯属虚构,不作严谨的逻辑推敲,仅供浅述数据结构,搏你一笑,足矣。
前言
「小大马」试图虚拟一个校园场景,通过学校发生的趣事,来浅述数据结构,我们都知道,程序 = 数据结构 + 算法;数据结构和生活是什么关系呢?让我们试图捅破这层窗户纸,用一个个故事来解释下。
虚拟场景介绍:
我,「小大马」,刚被某二流大学挖掘机编程专业录取,分在了二班;庆幸的是,我的高中同学「刘星雨」被数学系录取,总算有个熟人儿,顺便告诉你是个妹子哦。
挖掘机编程专业一共两个班,每个班38人。一班班长黄晓明,爱笑嗓门大;二班班长随大遛,有点小帅;辅导员姜小白,咳咳。。并不白;
数组:
第一章:猜不透的黑哥
不寻常的黑哥:
大学开学,第一件枯燥的事就是军训;负责我们专业的教官长得有点儿黑,大家叫他黑哥;
军训第一天天刚亮,黑哥就把挖掘机编程专业的两个班叫到了操场,说军训要先练习报数(大家一脸蒙逼,啥情况。。。)。
别的专业一个班站三排,他非要让我们一个班站一排。每当有人问他为什么,他总是嘴角微扬,却又缄默不语。
变态的死规矩:
1、从0开始报数,别问为什么?第一个同学报0,第二个同学报1,依次类推,最后一个同学报37。
2、固定编号,按序站好。每位同学听见编号就如同听到名字一样,按从小到大站好,谁错了30个俯卧撑伺候。
亮瞎眼的绝招:
为了加深印象,怕记错了,我们吃饭睡觉交流不呼姓名只叫对方的编号。我还算得意,碰巧被安排了幸运数字6。不过我舍友赵大胖更得意,他是7号,外号007。不过一班也有个007,他俩谁也不服谁,经常杠上。
在军训间隙,我们也喜欢跟教官玩点互动游戏,有一次赵大胖问黑哥,你天天让我们叫编号,你能记住我们每个人的编号不?不问不知道,一问吓一跳,只要我们随便报出一个编号,他马上喊出对应的名字。我们都傻了眼,脑海中只有一个大写的“服”字。黑哥,从此一站封神。
可恶的张小帅:
一班张小帅看上了我们班的王美丽,仗着跟黑哥关系不错,要求军训时调到二班的队伍里,想近水楼台先得月。出乎意料,黑哥二话没说居然答应了。
我们二班的男生都气急了,班里本来就狼多肉少只有九朵金花,眼看就要没了一朵。最后小道消息得知,原来张小帅给黑哥塞了两盒中华。我们也只能打掉牙往肚子里咽,干生闷气。
张小帅一看黑哥够爽快,又递了两瓶茅台,他在一班是8号,来到二班执意要求还用编号8号,我和007倒吸了一口凉气,真TM惊险刺激仿佛跟死神擦肩而过。
不久,噩耗传来,不出所料,黑哥又一次爽快答应了,要求一班8号后的同学编号顺进一位,二班8号后的顺延一位。大家好不容易习惯了编号,又要重来一遍,从此,黑哥变多了个外号:黑心哥。
17岁那年的雨季:
情窦初开的18岁,大家从高中到大学,就如冬去春来柳芽,随风浮动,春意盎然,暗送秋波,波涛汹涌(停停停,打住)。我只是想说,大学是个恋爱的季节。
天下没有不透风的墙,得知张小帅的套路,大家纷纷效仿,我们班半数女生迅速被一班拿下,我们二班男生也不甘示弱,顺势拿下一班女生(这剧情怎么感觉有点狗血呢)。
黑哥喝人家的心暖,抽人家的心软。大家都要求换队、换号,这么一来,编号大乱,几家欢喜几家愁,我的幸运6号也被一班田二狗霸占了,谁让我刚正不阿(穷)呢。
总结
数:就是黑哥给我们分配的编号
值:就是编号对应的每个同学的信息,比如身高。(必须具备相同类型,是人都是人,队伍里插入个会报数的大熊猫可以么,不好意思,国宝也不行,大熊猫自行站一队)
组:就是队伍里的所有同学按指定规则组合在一起,他们必须保持线性连续,编号有序
优点:查找快:只要你报个数,老练的黑哥一眼(指针)就能找到他的位置。这也是黑哥的杀手锏。
缺点:增删慢:看看我和我的同学就知道了,受影响的同学每个人都要被迫重新编号。
答疑:
为什么黑哥要求从0号开始报数?黑哥答:效率+第一个人就是这么设计的
我们二班只有38个人,黑哥要是叫40号会发生什么?
数组越界:一班班长黄晓明:我们班的1号可能会跑过来哦(C语言不校验越界错误)
越界处理:二班班长随大溜:我们班没有这位同学(Java等语言处理)
下集预告:
编号大乱,黑哥得意的独门绝技眼看受到质疑,狡猾的他又会想出什么对策呢?
欢迎期待下章:链表