請設計時間和空間上都盡可能高效的演算法,在不改變鍊錶的前提下,求鏈式儲存的線性表的倒數第m(>0)個元素。
函式介面定義:
elementtype find( list l, int m );
其中list結構定義如下:
typedef struct node ptrtonode;
struct node ;
typedef ptrtonode list; / 定義單鏈表型別 */
l是給定的帶頭結點的單鏈表;函式find要將l的倒數第m個元素返回,並不改變原鍊錶。如果這樣的元素不存在,則返回乙個錯誤標誌error。
裁判測試程式樣例:
#include
#include
#define error -1
typedef int elementtype;
typedef struct node *ptrtonode;
struct node ;
typedef ptrtonode list;
list read(); /* 細節在此不表 /
void print( list l ); / 細節在此不表 */
elementtype find( list l, int m );
int main()
/* 你的**將被嵌在這裡 */
輸入樣例:
51 2 4 5 6
3輸出樣例:
41 2 4 5 6
ac**:
elementtype find
(list l,
int m)
if(p ==
null
&& i < m)
while
(p&&q)
return q-
>data;
}
習題3 5 求鍊錶的倒數第m個元素 20分
請設計時間和空間上都盡可能高效的演算法,在不改變鍊錶的前提下,求鏈式儲存的線性表的倒數第m 0 個元素。elementtype find list l,int m 其中list結構定義如下 typedef struct node ptrtonode struct node typedef ptrto...
習題3 5 求鍊錶的倒數第m個元素 20分
elementtype find list l,int m 其中list結構定義如下 typedef struct node ptrtonode struct node typedef ptrtonode list 定義單鏈表型別 l是給定的帶頭結點的單鏈表 函式find要將l的倒數第m個元素返回,...
求鍊錶的倒數第m個元素
習題3.5 求鍊錶的倒數第m個元素 20分 請設計時間和空間上都盡可能高效的演算法,在不改變鍊錶的前提下,求鏈式儲存的線性表的倒數第m 0 0 個元素。elementtype find list l,int m 其中list結構定義如下 typedef struct node ptrtonode s...