資料結構基礎PTA 6 1 單鏈表逆轉

2021-08-15 16:38:38 字數 1535 閱讀 6682

list reverse( list l );
其中list結構定義如下:

typedef struct node *ptrtonode;

struct node ;

typedef ptrtonode list; /* 定義單鏈表型別 */

l是給定單鏈表,函式reverse要返回被逆轉後的鍊錶。

#include #include typedef int elementtype;

typedef struct node *ptrtonode;

struct node ;

typedef ptrtonode list;

list read(); /* 細節在此不表 */

void print( list l ); /* 細節在此不表 */

list reverse( list l );

int main()

/* 你的**將被嵌在這裡 */

5

1 3 4 5 2

1

2 5 4 3 1

唔,我覺得我的函式肯定是不夠好的,我把read函式也自己實現了一遍,為了除錯用;一開始看題目覺得有點奇怪啊,為什麼print(l1)就只剩下1了,因為後面的節點都移到前面去了,然而又沒有修改l1,所以l1只剩下乙個元素了;然後reverse這個函式,肯定有多種寫法的,自己寫的很不優雅!甚至說**寫的很難看,用while或許會更好點,最重要的就是兩步:

step1: delete:  p->next = q->next;

step2: insert:  q->next = l;    l=q;

#include #include typedef int elementtype;

typedef struct node *ptrtonode;

struct node ;

typedef ptrtonode list; //like the head

list read(); /* 細節在此不表 */

void print( list l ); /* 細節在此不表 */

list reverse( list l );

list read()else

num--;

}return l1;

}void print(list l)

list reverse( list l )else

break;

}return l;

} // i should check how others do this, in a more elegant coding way;

int main()

PTA6 1單鏈表逆轉

list reverse list l 其中list結構定義如下 typedef struct node ptrtonode struct node typedef ptrtonode list 定義單鏈表型別 l是給定單鏈表,函式reverse要返回被逆轉後的鍊錶。include include ...

PTA 6 1 求單鏈表最大值

6 1 求單鏈表最大值 6分 本題要求實現乙個函式,返回帶頭結點的單鏈表中最大元素的位址。函式介面定義 linklist maxp linklist l l是帶頭結點的單鏈表的頭指標,函式maxp返回表中最大元素的位址。如果單鏈表為空,返回空指標。其中linklist結構定義如下 typedef s...

單鏈表的逆序輸出 PTA6 1 單鏈表逆轉 為例

include include typedef int elementtype typedef struct node ptrtonode struct node typedef ptrtonode list list read 細節在此不表 void print list l 細節在此不表 lis...