麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Leetcode 147. Insertion Sort List

2019-11-11 05:12:22
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

Sort a linked list using insertion sort.

s思路: 1. insertion sort這個(gè)思路是這樣的:遍歷從第二個(gè)數(shù)據(jù)開(kāi)始,第一個(gè)數(shù)據(jù)默認(rèn)是排好序的,把第二個(gè)數(shù)據(jù)和第一個(gè)數(shù)比較插入,從而sorted的序列expanded by one, while the unsorted sequence is shrinked by one as well. 復(fù)雜度o(n^2). 這里寫(xiě)圖片描述 2. 通常的insertion sort都是默認(rèn)在vector上執(zhí)行,這道題新穎的地方就是在鏈表上來(lái)做。也就是,當(dāng)鏈表遇到insertion sort,會(huì)有什么事情發(fā)生? 3. 其實(shí)可以見(jiàn)怪不怪的,這兩個(gè)對(duì)象(鏈表和insertion sort)一旦被人們發(fā)現(xiàn),他們之間的關(guān)系就已經(jīng)當(dāng)即存在,只是現(xiàn)在我才看到而已,本身不是什么新鮮事! 4. 參考了以前代碼,添加dummy好做一些,自己用pointer-to-pointer搞不定,搞暈了:cur代表sorted的最右邊,每次用cur和cur->next比較,如果cur->val > cur->next->val,則此時(shí)就是邊界,然后讓PRe從dummy開(kāi)始往后移動(dòng)找到pre->next->val > cur->next->val,然后把cur->next這個(gè)節(jié)點(diǎn)插入到pre和pre->next之間。 5. 自己做的時(shí)候,嘗試中規(guī)中矩的做:每次把sorted的右邊界的next節(jié)點(diǎn)和之前的所有節(jié)點(diǎn)比較,找到合適的位置,然后插入。由于頭節(jié)點(diǎn)可能改變,因此也用dummy節(jié)點(diǎn);在比較的時(shí)候,也知道要找的插入的位置必須是某個(gè)指針的next,而不是某個(gè)指針之前的位置(因?yàn)殒湵碇挥衝ext域沒(méi)有pre域)。這樣做的問(wèn)題是,不能充分利用鏈表中可能存在的排好序的子鏈表,例如:3->2->4->1,當(dāng)前兩個(gè)排好序時(shí):2->3->4->1,2和3 就不需要排序,因?yàn)槭且约芭藕眯虻模钥梢怨?jié)省時(shí)間! 6. 整理一下思路:這種思路好在,每次從unsorted部分取第一個(gè)數(shù)都和sorted的最后一個(gè)數(shù)比較:如果大,則直接移動(dòng)sorted的邊界;如果小,才比較去找這個(gè)數(shù)應(yīng)該在sorted部分的正確位置。 7. 自己為啥沒(méi)想到呢?仔細(xì)觀察自己的思路:默認(rèn)一個(gè)新的數(shù),直接就和sorted的部分從左往右比較了;先和右邊界比較可以省事很多這點(diǎn)沒(méi)有意識(shí)到!

//方法1:在sorted和unsorted的邊界下功夫,代碼容易!class Solution {public: ListNode* insertionSortList(ListNode* head) { // if(!head) return NULL; ListNode* dummy=new ListNode(0),*cur=head; dummy->next=head; ListNode *pre=dummy; while(cur){ if(cur->next&&cur->next->val<cur->val){ while(pre->next&&pre->next->val<cur->next->val) pre=pre->next; ListNode* pnext=pre->next; pre->next=cur->next; cur->next=cur->next->next; pre->next->next=pnext; pre=dummy; }else cur=cur->next;//bug } delete dummy; return dummy->next; }};
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美国产一区二区三区 | 成人精品一区二区三区中文字幕 | 久久精品99北条麻妃 | 日韩av日韩| 深夜视频在线 | 日本爽快片100色毛片视频 | 一区二区免费看 | 国产精品片一区二区三区 | 国产视频在线免费观看 | 一区二区三区视频播放 | 亚洲一区二区中文字幕在线观看 | 精品久久久91 | 一级大黄毛片 | 久久精品亚洲欧美日韩精品中文字幕 | 国产精品jk白丝蜜臀av软件 | 91一区二区三区久久久久国产乱 | 2021免费日韩视频网 | 国产69精品久久久久99尤 | 91快色 | 欧美老外a级毛片 | 久久久久久久久久91 | 欧美成人高清视频 | 精品国产一区二区三区免费 | 最新中文字幕免费视频 | 成人毛片视频在线观看 | 精品久久久久久国产 | 成人免费福利视频 | 久草在线资源福利站 | chinese军人gay呻吟 | 法国性经典xxxhd | 狠狠撸电影 | 泰剧19禁啪啪无遮挡 | 精品一区二区三区免费爱 | 日韩毛片一区二区三区 | 中国洗澡偷拍在线播放 | 91在线精品亚洲一区二区 | 久久影院一区二区三区 | 久久综合久久精品 | fc2国产成人免费视频 | 精品无吗乱吗av国产爱色 | 欧美成人精品一区二区男人小说 |