最赞回答 / 慕粉1004573201
首先要明确数据结构和数据存储结构的概念。数据结构是指数据对象之间的逻辑关系,例如二叉树,队列,栈等,而数据存储结构是描述数据在计算机上的存储方式,它分为顺序存储和非顺序存储,数组就是典型的顺序存储。而链表就是典型的非顺序存储,它需要知道前一个数据和后一个数据。链表是一种数据存储方式,是非顺序存储,而队列是一种数据结构,它可以采用顺序存储也可以采用非顺序存储。
2017-06-29
已采纳回答 / ForLemon
假设一种情况,一个m_iQueueCapacity=4的队列,经过一系列入队和出对操作,此时m_iHead=3,而m_tail=2,此时在3,0,1位置都有元素。 此时m_iQueueLen=3。如果是循环是for (int i = m_iHead; i < m_iQueueLen ; i++),循环次数m_iQueueLen-m_iHead=0,很明显循环不能执行。因为我们要循环的次数是m_iQueueLen,也就是3。所以循环次数应该是(m_iQueueLen + m_iHead)...
2017-06-27
最新回答 / BingBing_Elf
首先,要说应该是先给队尾赋值,再移动队尾指针,也就是说,队尾的位置此时应该是空的,以便后续有元素的入队。看你和楼上的对话中,发现你没弄清队尾的位置问题,一旦赋值完成,队尾指针就会移动,移到下一个位置,以便后续操作。再给你个小小的建议,类名、函数名首字母大写,变量小写,约定俗成的规定,毕竟程序是给程序员看的。希望可以帮到你(✿◡‿◡)
2017-04-27
已采纳回答 / 慕九州2325515
并不是c++ 使用const声明表示不可一被修改,好像有点像 Java 中final也是不可以被修改,Java中static也是静态变量的意思,static类型可以被修改,那几个成员函数中之所以加了const修饰,是为了保护对象的数据不会被修改,在函数中只能读取对象数据并不可以修改。
2017-04-19
已采纳回答 / qq_超人_18
系统按顺序应该先删除customer的内存,然后再是p的内存。而customer的内存是栈实例化的,所以只有执行了return 0;后才会删除。使用了delete p;会导致系统先删除queue的内存,顺序不对,所以执行出现问题。所以不能加delete p;在结束整个程序后就会自动删除。我个人见解,删除内存主要运用在一个程序没有完结但一个类或函数已经完结的情况下,可以减少内存泄漏。如果整个程序都结束,就不存在内存泄漏的问题了。
2017-04-15