以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 C/C++编程思想 』  (http://bbs.xml.org.cn/list.asp?boardid=61)
----  [求助]坛友们,有个关于链表的问题,请解惑哇  (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=61051)


--  作者:tianzhaoling
--  发布时间:4/8/2008 4:08:00 PM

--  [求助]坛友们,有个关于链表的问题,请解惑哇
今天遇到了一道题,题目是这样的“创建一个函数,使之能够在链表的任意位置插入新节点",插入节点能理解,但是这个“任意位置”作合理解?这个任意位置是如何确定的?
数组是用连续的数字下标来定位,而链表则是逻辑上的指针定位,假设自己就是用户,我
如何用什么方式指出我要引用的链表位置?麻烦知道的朋友给说下,先行谢过。
--  作者:卷积内核
--  发布时间:4/9/2008 8:26:00 AM

--  
任意位置就是由用户随便指定的位置,把你自己当作用户应该不难理解啊,你写完程序后你想在某个位置插入节点,实现就好了。
--  作者:ZJupiter
--  发布时间:4/19/2008 1:47:00 PM

--  
可以随便说是在那个已经存在的节点的前面或后面。
举个例子:假如现在的链表是1,2,3
可以说在2前面/后面等任意一个数的前面/后面。
我们学数据结构的时候我是这么理解,希望能给你点参考!
--  作者:yangzhj05
--  发布时间:4/24/2008 8:02:00 PM

--  
个人感觉这个题目的考点是“任意位置”, 也就你要对头和其它节点的处理方式一样。
--  作者:netjian
--  发布时间:4/25/2008 11:03:00 AM

--  
顶一个指针*p = first,然后指定所谓的任意位置N,
//找出节点N
int i= 0 ;while(i!= N)
{
   p = p->next;
   i++;
}
//插入
//……

--  作者:L-Corporal
--  发布时间:4/27/2008 9:56:00 AM

--  
任意应该好了理解
给函数的形参传递个位置不就可以了
--  作者:hubu_lin
--  发布时间:5/9/2008 9:17:00 AM

--  
是啊
给用户留个接口,可以设置要插入的位置即可
--  作者:BirdOnSky
--  发布时间:5/10/2008 12:23:00 PM

--  

// insert value X after the n-th node in list.

bool  insert(Node* head, Value x,  int n )
{
   // go to the n-th node
   while(n-- && head=head->next) ;
   if(!head)  return 0;

   Node*  p = new Node(x);
   p->next=head->next;
   head->next=p;
  return 1;

}


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
62.012ms