已采纳回答 / Jathy
数据结构只是编程的一种编程设计,用什么语言都可以,所以要用什么软件就要根据用什么语言。比如说Java用Eclipse;C++或C用VC或DevC++等软件;Eclipse也可以进行C++/C编程希望能帮到你^.^
2016-12-18
已采纳回答 / Ephraim
这个函数做到了两个功能让首元素出队获得出队元素的值出队这个好理解,第二个获得首元素的值是我们加上去的,在实际应用中,目的是为了知道它出队的元素值是多少。当然写法有很多种,也可以以返回值的形式带出,比如int DeQueue(void) {int element =m-iHead;.... //头元素出队return element;}这就像栈pop的时候,我们把栈中出栈的元素存到一个变量里,我们也会采取这种方式来获得出栈元素,具体要不要这个功能,看我们了
2016-12-15
最赞回答 / Ephraim
这种插入方法 tail指向第四个格子的时候,队列不是满的这是环形队列的一个特点,区别在于是queue[i++]还是queue[++i]假如说一开始空队的时候i是-1 那么入队显然要queue[(++i)%capacity],出队要queue[(i++)%capacity]假如说一开始空队的时候i是0, 那么入队显然要queue[(i++)%capacity],出队是先让i-1 再queue[i%capacity]这两种定义的方法都可以,差别是只是个人习惯在James老师的实例中,他采用的是第一种方法,...
2016-12-15
已采纳回答 / Object_is_null
析构函数中应该是delete [] m_pQueue;QueueTraverse() 中循环结束条件应该是i<m_iHead+m_iQueueLenMyQueue.h头文件中多出了一个#endif // _DEBUG#ifndef 和 #endif 是一一对应的,条件编译。
2016-11-24
已采纳回答 / 黑巫师0
不引用的话,形参element就是一个临时变量,和传入的实参不是一个东西,它是存储在栈空间中的,当函数执行完成后将自动释放。导致的结果就是没有将出队的元素赋给实参element,而是赋给了那个临时变量element,随着函数执行完成也就一起消失了。并不能由实参element带回出队元素,出队也就失去了意义。
2016-11-24
已采纳回答 / 慕姐7449621
因为在这个队列中操作的是 顾客 这个类的对象,队列的每一个元素都是顾客,在使用 MyQueue *p=MyQueue(4)新建一个容量为4队列时,必须要在堆中申请一个对象数组的内存,也就是 m_pQueue=new Customer[4],指向一个对象数组的指针必须是对象指针,所以要将 int *m_pQueue改为 Customer *m_pQueue
2016-11-18