有序鍊錶合併C語言遞迴版 我稍微會一點程式設計

2021-08-19 14:18:06 字數 925 閱讀 1086

假期最後一天,閒著沒事編個程,天天吆喝自己不會程式設計,其實還是稍微會一點的。

以下是乙個有序鍊錶合併的**,一刻鐘內盲寫,花了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...