【发布时间】:2012-11-20 21:02:50
【问题描述】:
假设我在 C 程序的内存中有一个保留空间,用于包含 1000 个项目的链表。每个项目只包含列表中下一个项目的引用(最后一个指向第一个)。但是现在它们都设置为null,它只是保留空间。
接下来我有一个 rand() 函数,它给了我一个从 1 到 1000 的随机数。我的问题是,有没有简单的方法可以通过以下方式使用这个函数随机化这个列表:当我从第一个元素开始时,我会遍历整个列表,即列表中不会有比整个列表小的圆圈。
【问题讨论】:
-
你这里的随机数有什么用?
-
听起来很简单——你试过什么?
-
我应该用它来随机化列表。但我不知道如何......天真的方法会按顺序遍历项目并将此数字用作“下一个”元素的索引。但很有可能两个项目会指向同一个项目。
标签: c random linked-list