假期最後一天,閒著沒事編個程,天天吆喝自己不會程式設計,其實還是稍微會一點的。
以下是乙個有序鍊錶合併的**,一刻鐘內盲寫,花了10分鐘左右除錯通過,通篇只有乙個if語句作為遞迴退出條件!
#include
#include
int a = ;
int b = ;
struct
list ;
void merge(struct
list *iter, struct
list *base)
iter = iter->next;
while (iter && (!base || iter->v < base->v))
last->next = base;
merge(base, iter);
}int main(int argc, char **argv)
itera->next = null;
for (i = 0; i < 11; i++)
iterb->next = null;
}// merge 2 lists
// print the result
}}
本來想為這種行為找點意義,因為這實在是太簡單了(簡單並不意味著每個人都能寫對,我就總是搞不定邊界判斷),我有時間不去搞tcp不去搞sdwan,弄這幹什麼?
主要是假期的旅行泡湯了,本來是想外出的,然而沒有成行,就在家裡待了三天。
啊哈,可以教小小啊!可以教小小怎麼把兩個有序的鍊錶合併成乙個。當我做完這個程式後,搜了一下網上別人寫的方案,發現還是我的最簡單了,我也不考慮什麼時間複雜度了,總之能讓乙個六歲的智商平平的小孩子用最短時間理解這段**才是根本目的,於是也就不炫技了。
竹杖芒鞋輕勝馬,誰怕?一蓑煙雨任平生!然而,何來煙雨?何謂平生?
有序鍊錶合併C語言遞迴版 我稍微會一點程式設計
假期最後一天,閒著沒事編個程,天天吆喝自己不會程式設計,其實還是稍微會一點的。以下是乙個有序鍊錶合併的 一刻鐘內盲寫,花了10分鐘左右除錯通過,通篇只有乙個if語句作為遞迴退出條件!include include int a int b struct list void merge struct l...
資料結構 有序鍊錶合併(C語言版)
有序鍊錶合併 兩個有序的鍊錶,要求將其合併為乙個鍊錶,並且該鍊錶保持有序!這裡所講的是鍊錶公升序!首先,我們要構造兩張按照公升序排列好的鍊錶。構造鍊錶 我們的方法有尾插,頭插,大家可以click鏈結來檢視 這裡我們的實驗資料,以及思路如圖所示!實驗資料 鍊錶1 1,3,5,7 鍊錶2 1,2,4 5...
合併有序鍊錶C
author victor lv date 2016 9 1 11 20 description c list merge sort c 將兩個公升序排列的鍊錶合併成乙個公升序排列的鍊錶 不開闢新的鍊錶,直接將原鍊錶重新組合 輸入 兩個list的頭指標 返回 新的list頭指標 listnode f...