2013年4月30日
摘要: 0.简介(在以下环境下运行通过): 运行环境:Linux(ubuntu12.10); 编译器:gcc; 语言:C语言; 作者:Catcher24。1.问题描述 用双向链表实现队列: 队列描述了这样一种数据结构:对数据元素而言,是先进先出的。而双向链表则是链表的一种变种,每个节点具有两个指针:rlink和llink,显然双向链表对于“表头”和“表尾”的操作比链表方便得多,这十分有利于队列的实现。2.数据结构描述与设计: 由于双向链表的操作可能选择是从左指针开始还是右指针开始,所以实现队列时对双向链表的公共操作做了一些修改:插入操作:将新节点插在头结点的llink后面。删除操作:将头... 阅读全文
posted @ 2013-04-30 14:53 catcher24 阅读(2675) 评论(0) 推荐(0)
  2013年4月24日
摘要: 0.简介(在以下环境下运行通过): 运行环境:Linux(ubuntu12.10); 编译器:gcc; 语言:C语言; 作者:Catcher24。1.问题描述: 用循环链表解决约瑟夫问题。 约瑟夫问题:(Josephus problem) 据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josephus 和... 阅读全文
posted @ 2013-04-24 01:56 catcher24 阅读(904) 评论(0) 推荐(0)
  2013年4月21日
摘要: 0.简介(在以下环境下运行通过): 运行环境:Linux(ubuntu12.10); 编译器:gcc; 语言:C语言; 作者:Catcher24。1.问题描述: 使用链表实现多项式的表示和运算(加法、减法、乘法)。2.数据结构描述与设计: 2.1 使用链表的原因: 有两个多项式: P1 = 6x^4+4x^2-x; P2 = -7x^5+x^2; 如果要对两个多项式进行操作(多项式相加、除法等等......),可以采用数组的存储方式。设多项式P(n) = a1xn+a2xn-1+...an;如果采用数组A[n]来存储P(n)的系数,当P(n)中有的ai为0时,数组储... 阅读全文
posted @ 2013-04-21 16:48 catcher24 阅读(1281) 评论(0) 推荐(0)