回 帖 发 新 帖 刷新版面

主题:数据结构试题

    设有一个线性单链表,其结点值均为正整数,试写出一个算法,反复找出链表中结点值最小的结点,并输出该值,然后将该结点从链表中删除,直到链表空为止。

此帖转自:[url]http://www.programfan.com/team/team.asp?team_id=1050[/url]

回复列表 (共3个回复)

沙发

这也可以算是一个排序的方法呀,不错

板凳


答案在哪啊 ?
[em3]

3 楼


两个指针,一个指针用来遍历。一个用来指向当前最小的Node.
写个伪码

Node* pMin;
Node* pIterator;

while (!pIterator->pNext)
{
     if (pIterator->value<pMin->value)
     {
          pMin = pIterator;
     }
}

这样遍历就有了最小的Node的指针,删除。循环这个过程应该可以吧

我来回复

您尚未登录,请登录后再回复。点此登录或注册