中文原创av,日韩黄色在线视频,欧美日韩操,亚洲精品国产精品国自产网站按摩,欧美日韩国产一区二区在线观看,男人久久久,亚洲精品久久网白云av

軟題庫 移動APP 掃碼下載APP 隨時隨地移動學習 培訓課程
試卷名稱 2014年上半年程序員考試下午真題試題(案例分析)
考試中心《2014年上半年程序員考試下午真題試題(案例分析)》在線考試
試卷年份2014年上半年
試題題型【分析簡答題】
試題內容

閱讀以下說明和C函數(shù),填補代碼中的空缺(1)~(5),將解答填入答題紙的對應欄內。
【說明】
    函數(shù)ReverseList(LinkList headptr)的功能是將含有頭結點的單鏈表就地逆置。處理思路是將鏈表中的指針逆轉,即將原鏈表看成由兩部分組成:已經完成逆置的部分和未完成逆置的部分,令s指向未逆置部分的第一個結點,并將該結點插入已完成部分的表頭(頭結點之后),直到全部結點的指針域都修改完成為止。

    例如,某單鏈表如圖4-1所示,逆置過程中指針s的變化情況如圖4-2所示。

圖4-2
    鏈表結點類型定義如下:
    typedef struct Node {
        int data;
        struct Node *next,
    } Node, *LinkList;
【C函數(shù)】
void ReverseList  (LinkList headptr)
{  //含頭結點的單鏈表就地逆置,headptr為頭指針
    LinkList p, s;
    if (  (1)  ) return;                //空鏈表(僅有頭結點)時無需處理
    p= (2) ;                            //令p指向第一個元素結點
    if (!p->next) return;                 //鏈表中僅有一個元素結點時無需處理
    s = p->next;                          //s指向第二個元素結點
     (3)  = NULL;                       //設置第一個元素結點的指針域為空

    while (s) {
        p= s;                             //令p指向未處理鏈表的第一個結點
        s= (4) ;    
        p -> next = headptr -> next;      //將p所指結點插入已完成部分的表頭
        headptr -> next = (5) ;
    }
}


相關試題

推薦文章