本題要求實現乙個函式,將給定的單鏈表逆轉。
函式介面定義:
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
#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()
list read()
scanf( "%d",&num );
list
= ( ptrtonode )malloc( sizeof( struct node ) );
list
->
data
= num;
list
->next =
null;
last =
list;
len--;
while( len >
0 )
return
list;
}void print( list l )
ptrtonode last = l;
while( null
!= last )
putchar( '\n' );}/*
思路:考慮鍊錶的特點,增加很容易,但是由於是單向鍊錶,
只有乙個next指標,那麼想進行反轉就需要知道上乙個節點的位置
並且要保留中間節點的next值
尾節點的next為null
*/list reverse( list l )
return rl;
}
4 1 單鏈表逆轉 20分
4 1 單鏈表逆轉 20分 本題要求實現乙個函式,將給定的單鏈表逆轉。list reverse list l 其中list結構定義如下 typedef struct node ptrtonode struct node typedef ptrtonode list 定義單鏈表型別 l是給定單鏈表,函...
6 1 單鏈表逆轉 20分
本題要求實現乙個函式,將給定的單鏈表逆轉。其中list結構定義如下 typedef struct node ptrtonode struct node typedef ptrtonode list 定義單鏈表型別 l是給定單鏈表,函式reverse要返回被逆轉後的鍊錶。裁判測試程式樣例 includ...
6 1 單鏈表逆轉 20分
本題要求實現乙個函式,將給定的單鏈表逆轉。函式介面定義 list reverse list l 其中list結構定義如下 typedef struct node ptrtonode struct node typedef ptrtonode list 定義單鏈表型別 l是給定單鏈表,函式revers...