`
微_光
  • 浏览: 797 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

用数组和链表实现队列

 
阅读更多
一.用数组实现队列
    由于数组声明出来,他能储存的类型和个数都是确定的,但在实际应用中我们不知道我们需要存储数据的个数,因此数组满足不了我们的需求.所以我们需要用数组队列来实现我们的需求.
    数组队列可以根据我们储存数据的个数来动态改变数组的长度.
    数组队列是实现原理:我们想在数组a[n]中加入一个元素时,生成一个新的数组b[n+1],把a中前面n个元素都给b中的前n项,把新加的元素给b[n+1].然后把b的地址赋给a.这样,就可以实现一个数组队列.
    我们可以给数组队列定义各种方法,实现:增加,删除,插入,排序,获取某个元素,获取元素个数等各种方法来实现我们需求.

二.用链表实现队列
    链表与数组不同的是,链表在内存中的储存空间是不连续的,而数组是连续的.链表是由节点组成的.节点可以根据需要储存数据的个数动态生成.
    一个节点由两部分组成:一个是数据域,一个是指针域.链表在插入和删除数据时更方便.总体来说,感觉链表队列比数组队列更好用.
    链表分为:单链表(只能是父节点引用子节点),双链表(相邻的节点可相互引用),循环链表(在双链表的基础上,头尾节点可相互引用).
    实现链表,就是在链表里加入节点,使用节点的引用域使节点之间形成连接,可相互调用.
    链表队列的实现原理:首先定义一个节点类,节点类包含引用域和数据域.然后定义一个链表类,链表类形成节点间的引用关系.链表类中需要有添加节点,删除节点,插入节点,修改节点,数据排序等.最后用主函数调用链表.
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics