回 帖 发 新 帖 刷新版面

主题:[讨论]求助,希望高手能教做以下题目

[size=3][color=000080]
函数algo
(1)    假设队列q中的元素为(2、4、5、7、8),其中“2”为队头元素,写出执行函数调用algo(&q)后的队列q;
(2)    简述算法algo的功能
Void  algo(Queve Q)
{
Stack S;
Init  Stack(&S)
While(!QueveEmpty(Q))
Push(&S,DeQueve(Q))
While(!Stack Empty(&S))
EnQueve(Q,Pop(&S));
}


算法设计题
  按所给函数头用C语言或伪代码编写一个算法,从表头指针为L的单链表中找出数据或具有最大值的结点,该最大值由函数返回,若单链表为空则中止运行(exit  (0)),设链表结点数据域为正整数。
  eypedef  struct Node{int data;struct,Node *next;}LNode;
  Elem  Type  MaxValue(LNode *L)
[/color][/size]

回复列表 (共2个回复)

沙发

(1)8 7 5 4 2
(2)队列从头到尾进栈,再全部弹出进队,颠倒原队列顺序.
//////////
Elem  Type  MaxValue(LNode *L)
{
    LNode *p = L->next;
    int mv;

    if (p) mv = p->data;
    else exit (0);
    while (++p)
        if (mv < p->data)
            mv = p-data;
    return mv;
}

板凳

非常感谢!!!已经看了!!!

我来回复

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