複習 1 6 求鏈式線性表的倒數第K項

2021-10-10 04:54:04 字數 772 閱讀 4716

給定一系列正整數,請設計乙個盡可能高效的演算法,查詢倒數第k個位置上的數字。

輸入首先給出乙個正整數k,隨後是若干非負整數,最後以乙個負整數表示結尾(該負數不算在序列內,不要處理)。

輸出倒數第k個位置上的資料。如果這個位置不存在,輸出錯誤資訊null。

412

3456

7890

-1

7
題目轉化:

將輸入的一串非負整數以尾插法正序放入鍊錶,求這一順序鍊錶的倒數第k項

<=>將輸入的一串非負整數以頭插法倒序放入鍊錶,求這一倒序鍊錶的第k項

因此,我們只需實現用頭插法將一串非負整數形成乙個鍊錶,再遍歷找到該鍊錶的正數第k項即可。

#include

#include

typedef

struct lnode *linklist;

typedef

struct lnode

list;

intmain()

else

i++;}

} k =

(linklist*

)malloc

(sizeof

(list));

k = l;

if(iprintf

("null");

else

printf

("%d"

, k->data);}

}

7 19 求鏈式線性表的倒數第K項 20分

不知道題目說的盡可能高效的演算法是啥,我就只按我會的來了,無語 這 能不能ac就看運氣,有時候最後兩個測試點會超時,再提交一次又能ac了。1 include 2 include 3 include 4 using namespace std 56 struct node7 1112 typedef ...

重啟C語言 求鏈式線性表的倒數第K項

求鏈式線性表的倒數第k項 給定一系列正整數,請設計乙個盡可能高效的演算法,查詢倒數第k個位置上的數字。輸入格式 輸入首先給出乙個正整數k,隨後是若干正整數,最後以乙個負整數表示結尾 該負數不算在序列內,不要處理 輸出格式 輸出倒數第k個位置上的資料。如果這個位置不存在,輸出錯誤資訊null。輸入樣例...

7 19 求鏈式線性表的倒數第K項 20分

給定一系列正整數,請設計乙個盡可能高效的演算法,查詢倒數第k個位置上的數字。輸入格式 輸入首先給出乙個正整數k,隨後是若干非負整數,最後以乙個負整數表示結尾 該負數不算在序列內,不要處理 輸出格式 輸出倒數第k個位置上的資料。如果這個位置不存在,輸出錯誤資訊null。輸入樣例 412 3456 78...