1 00:00:00,000 --> 00:00:02,832 >> [MIZIK jwe] 2 00:00:02,832 --> 00:00:05,670 3 00:00:05,670 --> 00:00:08,560 >> Doug Lloyd: OK, se konsa nan pwen sa a nan kou a, 4 00:00:08,560 --> 00:00:15,300 nou te kouvri yon anpil nan Basics yo nan C. Nou konnen anpil bagay sou varyab, ranje, 5 00:00:15,300 --> 00:00:17,610 endikasyon, tout sa ki bon bagay. 6 00:00:17,610 --> 00:00:21,610 Moun sa yo ki, yo tout sòt de bati nan nan wè kòm fondamantal yo, 7 00:00:21,610 --> 00:00:23,880 men nou ka fè plis, dwa? 8 00:00:23,880 --> 00:00:27,930 Nou ka konbine bagay sa yo ansanm nan fason ki enteresan. 9 00:00:27,930 --> 00:00:31,010 >> Se konsa, kite a fè sa, kite la kòmanse nan branch soti nan sa ki C ba nou, 10 00:00:31,010 --> 00:00:35,270 epi yo kòmanse yo kreye done pwòp nou estrikti lè l sèvi avèk sa yo bilding 11 00:00:35,270 --> 00:00:40,590 blòk ansanm fè yon bagay reyèlman gen anpil valè, itil. 12 00:00:40,590 --> 00:00:43,420 Youn nan fason nou ka fè sa a se pale sou koleksyon. 13 00:00:43,420 --> 00:00:48,360 Se konsa, byen lwen tèlman nou te gen yon sèl kalite done estrikti pou reprezante koleksyon 14 00:00:48,360 --> 00:00:51,030 a renmen valè, valè menm jan an. 15 00:00:51,030 --> 00:00:52,350 Ki ta ka yon etalaj. 16 00:00:52,350 --> 00:00:57,020 Nou gen koleksyon nan nonm antye relatif, oswa koleksyon nan karaktè ak sou sa. 17 00:00:57,020 --> 00:01:00,890 >> Estrikti yo tou sòt de yon done estrikti pou kolekte enfòmasyon, 18 00:01:00,890 --> 00:01:03,220 men li la pa pou kolekte tankou valè. 19 00:01:03,220 --> 00:01:08,090 Li anjeneral melanje kalite done diferan ansanm andedan nan yon bwat sèl. 20 00:01:08,090 --> 00:01:10,750 Men, li la pa tèt li itilize yo chèn ansanm 21 00:01:10,750 --> 00:01:16,920 oswa konekte ansanm menm jan atik, tankou yon etalaj. 22 00:01:16,920 --> 00:01:20,960 Ranje yo se gwo pou eleman gade moute, men sonje 23 00:01:20,960 --> 00:01:24,262 ke li nan trè difisil insert nan yon etalaj, 24 00:01:24,262 --> 00:01:26,470 sof si nou ap mete an fen la anpil nan ki etalaj. 25 00:01:26,470 --> 00:01:29,730 >> Ak egzanp ki pi bon mwen gen pou sa a se sòt ensèsyon. 26 00:01:29,730 --> 00:01:31,650 Si ou sonje videyo nou an sou sòt ensèsyon, 27 00:01:31,650 --> 00:01:34,110 te gen yon anpil nan depans ki enplike nan li te gen 28 00:01:34,110 --> 00:01:37,970 ranmase eleman, ak chanjman yo soti nan fason an nan anfòm yon bagay 29 00:01:37,970 --> 00:01:41,290 nan mitan an nan etalaj ou yo. 30 00:01:41,290 --> 00:01:44,690 Ranje tou soufri soti nan yon lòt pwoblèm, ki se frigidité. 31 00:01:44,690 --> 00:01:47,150 Lè nou deklare yon etalaj, nou jwenn yon sèl piki nan li. 32 00:01:47,150 --> 00:01:49,790 Nou jwenn yo di, mwen vle sa a eleman anpil. 33 00:01:49,790 --> 00:01:51,940 Ta kapab 100, li ta ka gen 1,000, li ta ka 34 00:01:51,940 --> 00:01:55,930 gen x kote x se yon nimewo ki itilizatè a te ban nou nan yon èd memwa oswa nan yo lòd, ki 35 00:01:55,930 --> 00:01:56,630 liy. 36 00:01:56,630 --> 00:01:59,905 >> Men, nou sèlman jwenn yon sèl piki nan li, nou pa jwenn Lè sa a, di oh, aktyèlman mwen 37 00:01:59,905 --> 00:02:04,360 bezwen 101, oswa mwen te bezwen x plis 20. 38 00:02:04,360 --> 00:02:07,910 Twò ta, nou te deja deklare nan etalaj, epi si nou vle jwenn 101 oswa x 39 00:02:07,910 --> 00:02:12,050 plis 20, nou gen deklare yon etalaj totalman diferan, 40 00:02:12,050 --> 00:02:15,540 kopi tout eleman ki nan etalaj la sou, ak Lè sa a nou gen ase. 41 00:02:15,540 --> 00:02:19,880 Ak sa ki si nou se sa ki mal ankò, ki sa si nou aktyèlman bezwen 102, oswa x plis 40, 42 00:02:19,880 --> 00:02:21,970 nou dwe fè sa a ankò. 43 00:02:21,970 --> 00:02:26,250 Se konsa, yo ap trè souplesse pou rèsizin done nou an, 44 00:02:26,250 --> 00:02:29,360 men si nou konbine ansanm kèk nan Basics yo ke nou te deja 45 00:02:29,360 --> 00:02:33,230 te aprann enfòmasyon sou endikasyon yo ak estrikti, an patikilye lè l sèvi avèk dinamik memwa 46 00:02:33,230 --> 00:02:36,180 alokasyon ak malok, nou ka mete moso sa yo ansanm 47 00:02:36,180 --> 00:02:40,960 yo kreye yon done nouvo structure-- yon separeman lye lis nou ta ka say-- 48 00:02:40,960 --> 00:02:45,400 ki pèmèt nou grandi ak retresi yon koleksyon valè 49 00:02:45,400 --> 00:02:48,800 epi nou pa pral gen nenpòt espas gaspiye. 50 00:02:48,800 --> 00:02:53,320 >> Se konsa, ankò, nou rele ide sa a, nosyon sa a, yon lis lye. 51 00:02:53,320 --> 00:02:56,320 An patikilye, nan videyo sa a nou ap ap pale de lis separeman lye, 52 00:02:56,320 --> 00:02:59,185 ak Lè sa a yon lòt videyo nou pral pale lis sou doubl lye, ki 53 00:02:59,185 --> 00:03:01,560 se jis yon varyasyon sou yon tèm isit la. 54 00:03:01,560 --> 00:03:05,200 Men, yon lis separeman lye se konpoze de nœuds, 55 00:03:05,200 --> 00:03:08,559 nœuds jis ke yo te yon term-- abstrè li nan jis yon bagay mwen ap rele 56 00:03:08,559 --> 00:03:10,350 sa a, se yon kalite estrikti, fondamantalman, mwen se? 57 00:03:10,350 --> 00:03:16,190 Jis ale nan rele li yon node-- ak sa a ne te gen de manm yo, oswa de jaden yo. 58 00:03:16,190 --> 00:03:20,300 Li te gen done, nòmalman yon nonb antye relatif, yon flote karaktè, 59 00:03:20,300 --> 00:03:23,790 oswa te kapab gen kèk lòt kalite done ke ou te defini ak yon def kalite. 60 00:03:23,790 --> 00:03:29,290 Apre sa, li gen yon konsèy nan yon lòt ne nan kalite la menm. 61 00:03:29,290 --> 00:03:34,710 >> Se konsa, nou gen de bagay sa yo andedan nan ne sa a, done ak yon konsèy 62 00:03:34,710 --> 00:03:36,380 nan yon lòt ne. 63 00:03:36,380 --> 00:03:39,370 Men, si ou kòmanse visualized sa, ou ka panse osijè de sa 64 00:03:39,370 --> 00:03:42,280 tankou yon chèn nan nœuds ki yo ki konekte ansanm. 65 00:03:42,280 --> 00:03:45,070 Nou gen ne an premye, li gen done, ak yon konsèy 66 00:03:45,070 --> 00:03:49,110 ne, dezyèm lan, ki gen done, ak yon konsèy nan twazyèm ne la. 67 00:03:49,110 --> 00:03:52,940 Se konsa, Se poutèt sa nou rele li yon lis lye, yo ap lye ansanm. 68 00:03:52,940 --> 00:03:56,070 >> Ki sa sa a espesyal estrikti ne sanble? 69 00:03:56,070 --> 00:04:01,120 Oke, si ou sonje soti nan videyo nou an sou defini kalite koutim, ak kalite def, 70 00:04:01,120 --> 00:04:05,400 nou ka defini yon structure-- ak tape defini yon estrikti tankou sa a. 71 00:04:05,400 --> 00:04:11,240 tyepdef struct sllist, ak Lè sa mwen se lè l sèvi avèk valè a mo isit la abitrèman 72 00:04:11,240 --> 00:04:13,891 yo endike nenpòt ki kalite done vrèman. 73 00:04:13,891 --> 00:04:16,890 Ou te kapab pase sou yon nonb antye relatif oswa flote, ou te kapab gen tou sa ou vle. 74 00:04:16,890 --> 00:04:19,389 Li pa nan restriksyon nan jis nonm antye relatif, oswa yon bagay tankou sa. 75 00:04:19,389 --> 00:04:22,790 Se konsa, valè jis yon abitrè done kalite, ak Lè sa a yon konsèy 76 00:04:22,790 --> 00:04:26,310 nan yon lòt ne nan kalite la menm. 77 00:04:26,310 --> 00:04:29,690 >> Koulye a, gen nan yon ti kras trape isit la ak defini yon estrikti 78 00:04:29,690 --> 00:04:33,030 lè li yon estrikti referansyèl pwòp tèt ou. 79 00:04:33,030 --> 00:04:35,340 Mwen gen gen yon ti tan non pou estrikti m 'yo. 80 00:04:35,340 --> 00:04:37,640 Nan fen jou I klèman vle rele l ' 81 00:04:37,640 --> 00:04:43,030 sl ne, sa a, se finalman nouvo nan non yon pati nan definisyon kalite m 'yo, 82 00:04:43,030 --> 00:04:47,450 men mwen pa ka sèvi ak sl ne nan mitan an nan sa a. 83 00:04:47,450 --> 00:04:51,430 Rezon ki fè ke yo te la, mwen pa gen kreye yon kalite rele sl ne 84 00:04:51,430 --> 00:04:55,200 jouk tan mwen frape pwen final sa a isit la. 85 00:04:55,200 --> 00:04:59,720 Jiska pwen sa a, mwen gen gen yon lòt fason pou fè referans a sa a ki kalite done. 86 00:04:59,720 --> 00:05:02,440 >> Lè sa a se yon pwòp tèt ou referansyèl done kalite. 87 00:05:02,440 --> 00:05:06,314 Li; s yon kalite done nan yon estrikti ki gen yon done, 88 00:05:06,314 --> 00:05:08,480 ak yon konsèy nan yon lòt estrikti nan kalite la menm. 89 00:05:08,480 --> 00:05:11,750 Se konsa, mwen bezwen pou kapab al gade nan sa a ki kalite done omwen pou yon ti tan, 90 00:05:11,750 --> 00:05:14,910 se konsa bay li yon ti tan non struct sllist 91 00:05:14,910 --> 00:05:18,540 pèmèt m 'Lè sa a, di mwen vle yon konsèy nan yon lòt sllist struct, 92 00:05:18,540 --> 00:05:24,690 yon etwal struct sllist, ak Lè sa apre mwen te fini definisyon an, 93 00:05:24,690 --> 00:05:27,220 Koulye a, mwen ka rele sa a ki kalite yon ne sl. 94 00:05:27,220 --> 00:05:30,520 >> Se konsa, Se poutèt sa ou wè gen nan yon non pou yon ti tan isit la, 95 00:05:30,520 --> 00:05:31,879 men yon non pèmanan isit la. 96 00:05:31,879 --> 00:05:33,920 Pafwa ou ta ka wè definisyon nan estrikti, 97 00:05:33,920 --> 00:05:36,570 pou egzanp, ki pa referansyèl pwòp tèt ou, ki 98 00:05:36,570 --> 00:05:39,390 pa gen yon non Dvi isit la. 99 00:05:39,390 --> 00:05:43,040 Li ta jis di tipedèf struct, louvri Curly atèl ak Lè sa a defini li. 100 00:05:43,040 --> 00:05:45,620 Men, si w ap struct se pwòp tèt ou referansyèl, tankou sa a se yon sèl, 101 00:05:45,620 --> 00:05:49,010 ou bezwen presize yon Non kalite tanporè. 102 00:05:49,010 --> 00:05:51,310 Men, finalman, kounye a ke nou te fè a, 103 00:05:51,310 --> 00:05:53,620 nou ka jis, al gade nan nœuds sa yo, inite sa yo, 104 00:05:53,620 --> 00:05:57,900 kòm nœuds sl pou rezon nan rès la nan videyo sa a. 105 00:05:57,900 --> 00:06:00,900 >> Tout dwa, se konsa nou konnen ki jan yo kreye yon lis lye ne. 106 00:06:00,900 --> 00:06:03,240 Nou konnen ki jan yo defini yon lis lye ne. 107 00:06:03,240 --> 00:06:06,670 Koulye a, si nou ap ale nan kòmanse lè l sèvi avèk yo kolekte enfòmasyon, 108 00:06:06,670 --> 00:06:10,360 gen nan yon koup la operasyon nou bezwen pou konprann epi pou travay avèk yo. 109 00:06:10,360 --> 00:06:12,860 Nou bezwen konnen ki jan yo kreye yon lis lye soti nan lè mens. 110 00:06:12,860 --> 00:06:14,901 Si gen nan pa gen lis deja, nou vle kòmanse yon sèl. 111 00:06:14,901 --> 00:06:16,960 Se konsa, nou bezwen kapab yo kreye yon lis lye, 112 00:06:16,960 --> 00:06:19,130 nou bezwen pwobableman rechèch nan lis la lyen 113 00:06:19,130 --> 00:06:21,830 jwenn yon eleman nou ap chèche pou. 114 00:06:21,830 --> 00:06:24,430 Nou bezwen pou kapab Insert bagay ki nouvo nan lis la, 115 00:06:24,430 --> 00:06:25,930 nou vle lis nou an pou kapab grandi. 116 00:06:25,930 --> 00:06:28,638 Apre sa, Menm jan an tou, nou vle kapab yo efase bagay nan lis nou an, 117 00:06:28,638 --> 00:06:30,250 nou vle lis nou an pou kapab retresi. 118 00:06:30,250 --> 00:06:32,160 Ak nan fen a nan nou an pwogram, espesyalman 119 00:06:32,160 --> 00:06:34,550 si ou sonje ke nou ap dynamique allocation memwa 120 00:06:34,550 --> 00:06:38,337 yo bati sa yo bay lis tipikman, nou vle libere tout nan ke memwa 121 00:06:38,337 --> 00:06:39,670 lè nou ap fè travay ak li. 122 00:06:39,670 --> 00:06:44,627 Se konsa, nou bezwen pou kapab efase yon tout lis lye nan yon sèl ne plongée. 123 00:06:44,627 --> 00:06:46,460 Se konsa nou ale nan kèk nan operasyon sa yo 124 00:06:46,460 --> 00:06:51,192 ak ki jan nou ta ka visualized yo, pale nan kòd pseudocode espesyalman. 125 00:06:51,192 --> 00:06:53,150 Se konsa, nou vle kreye yon lye lis, se konsa petèt nou 126 00:06:53,150 --> 00:06:56,480 vle defini yon fonksyon ak pwototip sa a. 127 00:06:56,480 --> 00:07:01,690 sl zetwal ne, kreye, ak mwen pase nan yon sèl agiman, kèk done abitrè 128 00:07:01,690 --> 00:07:05,530 tape ankò, nan kèk kalite done abitrè. 129 00:07:05,530 --> 00:07:10,482 Men, mwen returning-- fonksyon sa a ta dwe tounen vin jwenn mwen yon konsèy, nan yon separeman 130 00:07:10,482 --> 00:07:11,190 lye lis ne. 131 00:07:11,190 --> 00:07:14,050 Yon fwa ankò, nou ap eseye yo kreye yon lis lye soti nan lè mens, 132 00:07:14,050 --> 00:07:17,900 Se konsa, mwen bezwen yon konsèy nan ke lis lè m ap fè. 133 00:07:17,900 --> 00:07:19,420 >> Se konsa, sa yo se etap ki konsène isit la? 134 00:07:19,420 --> 00:07:20,960 Oke, premye bagay mwen se pral fè se dynamique 135 00:07:20,960 --> 00:07:22,550 asiyen espas pou yon nouvo ne. 136 00:07:22,550 --> 00:07:26,689 Yon fwa ankò, nou ap kreye l 'soti nan mens lè, se konsa nou bezwen espas malok pou li. 137 00:07:26,689 --> 00:07:28,480 Ak nan kou, imedyatman apre nou malok, 138 00:07:28,480 --> 00:07:31,692 nou toujou tcheke a asire w ke nou an pointer-- nou pa t 'jwenn tounen nil. 139 00:07:31,692 --> 00:07:33,650 Paske si nou eseye ak deferans yon konsèy nil, 140 00:07:33,650 --> 00:07:36,190 nou ap ale nan soufri yon segfault epi nou pa vle sa. 141 00:07:36,190 --> 00:07:39,510 >> Lè sa a, nou vle ranpli nan jaden an, nou vle inisyalize jaden an valè 142 00:07:39,510 --> 00:07:41,690 ak inisyalize jaden an kap vini an. 143 00:07:41,690 --> 00:07:45,450 Lè sa a, nou vle to-- a evantyèlman kòm pwototip fonksyon indicates-- nou vle 144 00:07:45,450 --> 00:07:49,940 retounen yon konsèy nan yon ne sl. 145 00:07:49,940 --> 00:07:51,710 Se konsa, sa fè sa-a gade tankou vizyèlman? 146 00:07:51,710 --> 00:07:55,230 Oke, premye nou ap ale nan dynamique asiyen espas pou yon nouvo ne sl, 147 00:07:55,230 --> 00:07:58,320 se konsa nou malloc-- sa a, se yon reprezantasyon vizyèl 148 00:07:58,320 --> 00:08:00,020 a ne la nou jis kreye. 149 00:08:00,020 --> 00:08:02,757 Apre sa, nou tcheke a asire w li pa nan null-- nan ka sa a, 150 00:08:02,757 --> 00:08:04,840 foto a pa ta gen montre moute si li te nil, 151 00:08:04,840 --> 00:08:07,298 nou ta gen kouri soti nan memwa, se konsa nou ap bon yo ale la. 152 00:08:07,298 --> 00:08:10,200 Se konsa, kounye a nou ap sou nan etap C, inisyalize jaden an nœuds valè. 153 00:08:10,200 --> 00:08:12,280 Oke, ki baze sou sa a fonksyon rele mwen lè l sèvi avèk isit la, 154 00:08:12,280 --> 00:08:16,700 sanble mwen vle pase nan 6, se konsa mwen pral 6 nan jaden an valè. 155 00:08:16,700 --> 00:08:18,865 Koulye a, inisyalize jaden an kap vini an. 156 00:08:18,865 --> 00:08:21,640 Oke, sa mwen pral fè a, pa gen anyen kap vini an, dwa, 157 00:08:21,640 --> 00:08:23,600 sa a se bagay la sèlman nan lis la. 158 00:08:23,600 --> 00:08:27,206 Se konsa, sa ki nan bagay la pwochen nan lis la? 159 00:08:27,206 --> 00:08:29,660 >> Li pa ta dwe lonje dwèt sou yon bagay, dwa. 160 00:08:29,660 --> 00:08:33,600 Pa gen anyen lòt bagay la, se konsa ki sa ki konsèp la nou konnen nan sa a, se nothing-- 161 00:08:33,600 --> 00:08:35,638 endikasyon pa gen anyen? 162 00:08:35,638 --> 00:08:37,929 Li ta dwe petèt nou vle yo mete yon konsèy nil a, 163 00:08:37,929 --> 00:08:40,178 epi mwen pral reprezante nil nan konsèy kòm jis yon bwat wouj, 164 00:08:40,178 --> 00:08:41,559 nou pa ka ale nenpòt ki pi lwen. 165 00:08:41,559 --> 00:08:44,430 Kòm nou pral wè yon ti kras pita sou li a, nou pral gen evantyèlman chenn 166 00:08:44,430 --> 00:08:46,330 pou flèch konekte sa yo nœuds ansanm, 167 00:08:46,330 --> 00:08:48,480 Men, lè ou frape nan bwat wouj, sa a, se nil, 168 00:08:48,480 --> 00:08:51,150 nou pa ka ale nenpòt ki pi lwen, sa a, se nan fen lis la. 169 00:08:51,150 --> 00:08:53,960 >> Epi anfen, nou jis vle retounen yon konsèy nan ne sa a. 170 00:08:53,960 --> 00:08:56,160 Se konsa, nou pral rele li nouvo, epi yo pral retounen nouvo 171 00:08:56,160 --> 00:08:59,370 se konsa li kapab itilize nan tou sa fonksyon kreye li. 172 00:08:59,370 --> 00:09:03,100 Se konsa, gen nou ale, Nou te kreye yon separeman lye lis ne soti nan lè mens, 173 00:09:03,100 --> 00:09:05,920 epi kounye a nou gen yon lis nou ka travay avèk yo. 174 00:09:05,920 --> 00:09:08,260 >> Koulye a, kite a di nou deja gen yon gwo chèn, 175 00:09:08,260 --> 00:09:09,800 e nou vle jwenn yon bagay nan li. 176 00:09:09,800 --> 00:09:12,716 Epi nou vle yon fonksyon ki k ap pase retounen vre oubyen fo, tou depann 177 00:09:12,716 --> 00:09:15,840 sou si se yon valè egziste nan ke lis. 178 00:09:15,840 --> 00:09:18,160 Yon pwototip fonksyon, oswa deklarasyon pou sa fonksyon, 179 00:09:18,160 --> 00:09:23,320 ta ka sanble sa a men bouleen jwenn, ak lè sa a nou vle pase nan de agiman. 180 00:09:23,320 --> 00:09:26,996 >> Premye a, se yon konsèy nan la premye eleman nan lis la lye. 181 00:09:26,996 --> 00:09:29,620 Sa a se aktyèlman yon bagay ou pral toujou vle kenbe tras nan, 182 00:09:29,620 --> 00:09:33,110 ak aktyèlman ta ka yon bagay ki ou menm mete nan yon varyab mondyal la. 183 00:09:33,110 --> 00:09:35,360 Yon fwa ou kreye yon lis, ou toujou, toujou 184 00:09:35,360 --> 00:09:38,990 vle kenbe tras nan trè an premye eleman nan lis la. 185 00:09:38,990 --> 00:09:43,690 Nan fason sa a ou ka al gade nan lòt nan tout eleman pa jis sa yo chèn lan, 186 00:09:43,690 --> 00:09:47,300 san yo pa gen kenbe endikasyon entak nan chak eleman sèl. 187 00:09:47,300 --> 00:09:50,920 Ou sèlman bezwen kenbe tras nan premye nan yon sèl si yo ap tout nan chenn ansanm. 188 00:09:50,920 --> 00:09:52,460 >> Lè sa a, bagay la dezyèm nou ap pase nan ankò 189 00:09:52,460 --> 00:09:54,376 se abitrèman some-- tou sa done kalite nou ap 190 00:09:54,376 --> 00:09:59,640 kap chèche gen andedan nan èspere ke youn nan nœuds yo nan lis la. 191 00:09:59,640 --> 00:10:00,980 Se konsa, sa yo se etap yo? 192 00:10:00,980 --> 00:10:04,250 Oke, premye bagay la nou fè se nou kreye yon konsèy dwat sekant 193 00:10:04,250 --> 00:10:06,015 montre nan tèt la lis. 194 00:10:06,015 --> 00:10:08,890 Oke, poukisa nou fè sa, nou deja gen yon konsèy nan plas tèt la lis, 195 00:10:08,890 --> 00:10:10,974 poukisa pa nou jis deplase ke youn nan jiwon l? 196 00:10:10,974 --> 00:10:13,140 Oke, tankou mwen jis te di, li vrèman enpòtan pou nou 197 00:10:13,140 --> 00:10:17,580 toujou kenbe tras nan la trè premye eleman nan lis la. 198 00:10:17,580 --> 00:10:21,270 Se konsa, li la aktyèlman pi bon yo kreye yon kopi de sa, 199 00:10:21,270 --> 00:10:25,350 epi sèvi ak ki fè mouvman pou nou pa janm aksidantèlman avanse pou pi lwen, oswa nou toujou 200 00:10:25,350 --> 00:10:30,430 gen yon konsèy nan kèk pwen ki se dwa sou eleman nan premye nan lis la. 201 00:10:30,430 --> 00:10:33,290 Se konsa, li pi bon yo kreye yon dezyèm yon sèl ke nou itilize pou avanse pou pi. 202 00:10:33,290 --> 00:10:35,877 >> Lè sa a, nou jis konpare si wi ou non jaden an valè nan ki ne 203 00:10:35,877 --> 00:10:38,960 se sa nou ap chèche pou, epi si li nan pa, nou jis deplase li nan yon ne kap vini an. 204 00:10:38,960 --> 00:10:41,040 E nou kontinye ap fè ki sou, ak sou, yo ak sou, 205 00:10:41,040 --> 00:10:44,811 jiskaske nou swa jwenn eleman a, oswa nou frape 206 00:10:44,811 --> 00:10:47,310 null-- nou te rive jwenn fen an nan lis la epi li se pa la. 207 00:10:47,310 --> 00:10:50,540 Sa a ta dwe èspere ke sonnen yon klòch bay ou kòm jis rechèch lineyè, 208 00:10:50,540 --> 00:10:54,430 nou ap jis repwodui l 'nan yon lis separeman lye estrikti 209 00:10:54,430 --> 00:10:56,280 olye pou yo lè l sèvi avèk yon etalaj fè li. 210 00:10:56,280 --> 00:10:58,210 >> Se konsa, isit la nan yon egzanp sou yon lis separeman lye. 211 00:10:58,210 --> 00:11:00,043 Yon sèl sa a konsiste de senk nœuds, e nou gen 212 00:11:00,043 --> 00:11:04,330 yon konsèy nan tèt la nan la lis, ki te rele lis. 213 00:11:04,330 --> 00:11:07,385 Premye bagay nou vle fè se ankò, kreye ki konsèy parcourt. 214 00:11:07,385 --> 00:11:09,760 Se konsa, nou gen kounye a de endikasyon pwen sa a menm bagay la. 215 00:11:09,760 --> 00:11:15,025 >> Koulye a, remake isit la tou, mwen pa t ' gen malok nenpòt espas pou Trav. 216 00:11:15,025 --> 00:11:18,970 Mwen pa t 'di Trav egal malok yon bagay, ki ne deja egziste, 217 00:11:18,970 --> 00:11:21,160 espas sa nan memwa deja egziste. 218 00:11:21,160 --> 00:11:24,290 Se konsa, tout mwen aktyèlman fè se kreye yon lòt konsèy nan li. 219 00:11:24,290 --> 00:11:28,210 Mwen pa mallocing yon lòt espas, jis gen kounye a de endikasyon 220 00:11:28,210 --> 00:11:31,370 montre nan menm bagay la. 221 00:11:31,370 --> 00:11:33,710 >> Se konsa, se 2 sa m ap chèche pou? 222 00:11:33,710 --> 00:11:37,220 Oke, pa gen okenn, se konsa olye pou mwen se ale pou avanse pou pi nan yon sèl kap vini an. 223 00:11:37,220 --> 00:11:41,740 Se konsa, fondamantalman mwen ta ka di, Trav egal Trav kap vini an. 224 00:11:41,740 --> 00:11:43,630 Se 3 sa m ap chèche pou yo, pa gen okenn. 225 00:11:43,630 --> 00:11:45,780 Se konsa, mwen kontinye ale a, jouk evantyèlman 226 00:11:45,780 --> 00:11:48,690 li ale nan 6 ki se sa ki M 'ap chache pou ki baze sou apèl la fonksyon 227 00:11:48,690 --> 00:11:51,600 Mwen gen nan tèt la la, ak se konsa mwen fè. 228 00:11:51,600 --> 00:11:54,150 >> Koulye a, sa ki si eleman nan mwen se kap chèche se pa nan lis la, 229 00:11:54,150 --> 00:11:55,510 se li toujou ale nan travay? 230 00:11:55,510 --> 00:11:57,120 Oke, remake ke lis la isit la se subtile diferan, 231 00:11:57,120 --> 00:11:59,410 ak sa a se yon lòt bagay sa a, se enpòtan ak lis lye, 232 00:11:59,410 --> 00:12:01,780 ou pa bezwen prezève yo nan nenpòt lòd patikilye. 233 00:12:01,780 --> 00:12:05,390 Ou kapab si ou vle, men ou ka te deja remake 234 00:12:05,390 --> 00:12:09,310 ke nou pa ap kenbe tras nan ki nimewo eleman nou yo nan. 235 00:12:09,310 --> 00:12:13,150 >> Epi sa a, sòt de yon sèl komès ke nou genyen ak lis lye vèsè ranje, 236 00:12:13,150 --> 00:12:15,300 se li nou pa gen aksè o aza ankò. 237 00:12:15,300 --> 00:12:18,150 Nou pa ka jis di, mwen vle pou yo ale nan eleman nan 0th, 238 00:12:18,150 --> 00:12:21,410 oswa eleman nan 6th nan etalaj mwen, ki mwen ka fè nan yon etalaj. 239 00:12:21,410 --> 00:12:25,080 Mwen pa ka di mwen vle pou yo ale nan nan 0th eleman, oswa eleman nan 6th, 240 00:12:25,080 --> 00:12:30,360 oswa eleman nan 25th nan lis lye m 'yo, gen nan pa gen endèks ki asosye ak yo. 241 00:12:30,360 --> 00:12:33,660 Se konsa, li pa reyèlman gen pwoblèm si nou prezève lis nou an nan lòd. 242 00:12:33,660 --> 00:12:36,080 Si ou vle ou sètènman kapab, men gen nan 243 00:12:36,080 --> 00:12:38,567 pa gen okenn rezon ki fè yo bezwen dwe konsève nan nenpòt lòd. 244 00:12:38,567 --> 00:12:40,400 Se konsa, ankò, se pou yo eseye ak jwenn 6 nan lis sa a. 245 00:12:40,400 --> 00:12:43,200 Oke, nou kòmanse nan la kòmansman, nou pa jwenn 6, 246 00:12:43,200 --> 00:12:47,690 ak Lè sa a nou pa kontinye jwenn 6, jiskaske nou evantyèlman ale nan isit la. 247 00:12:47,690 --> 00:12:52,790 Se konsa, dwa pwen kounye a Trav ne la ki gen 8, ak sis se pa nan la. 248 00:12:52,790 --> 00:12:55,250 >> Se konsa, pwochen etap la ta dwe pou yo ale nan konsèy kap vini an, 249 00:12:55,250 --> 00:12:57,440 se konsa di Trav egal Trav kap vini an. 250 00:12:57,440 --> 00:13:00,750 Oke, Trav kap vini an, sa endike nan ti bwat la wouj la, se nil. 251 00:13:00,750 --> 00:13:03,020 Se konsa, gen nan okenn kote lòt bagay yo ale, e konsa nan pwen sa a 252 00:13:03,020 --> 00:13:06,120 nou ka konkli ke nou te rive jwenn nan fen lis la lye, 253 00:13:06,120 --> 00:13:07,190 ak 6 se pa nan la. 254 00:13:07,190 --> 00:13:10,980 Epi li ta dwe retounen fo nan ka sa a. 255 00:13:10,980 --> 00:13:14,540 >> OK, ki jan nou insert yon nouvo ne nan lis la lye? 256 00:13:14,540 --> 00:13:17,310 Se konsa, nou ve yo te kapab kreye yon lis lye soti nan okenn kote, 257 00:13:17,310 --> 00:13:19,370 men nou pwobableman vle bati yon chèn epi yo pa 258 00:13:19,370 --> 00:13:22,620 kreye yon pakèt moun sou lis diferan. 259 00:13:22,620 --> 00:13:25,700 Nou vle gen yon sèl lis ki gen yon pakèt moun sou nœuds nan li, 260 00:13:25,700 --> 00:13:28,040 pa yon pakèt moun sou lis ak yon ne sèl. 261 00:13:28,040 --> 00:13:31,260 Se konsa, nou pa ka jis kenbe lè l sèvi avèk Kreye nan fonksyon nou defini pi bonè, kounye a nou 262 00:13:31,260 --> 00:13:33,860 vle insert nan yon lis ki deja egziste. 263 00:13:33,860 --> 00:13:36,499 >> Se konsa, sa a, nou ap ale yo pase nan de agiman, 264 00:13:36,499 --> 00:13:39,290 konsèy la nan tèt la nan ki lye lis ke nou vle pou ajoute pou. 265 00:13:39,290 --> 00:13:40,910 Yon fwa ankò, sa a, se poutèt sa li a tèlman enpòtan pou nou toujou 266 00:13:40,910 --> 00:13:43,400 kenbe tras nan li, paske li nan wout la sèlman nou reyèlman 267 00:13:43,400 --> 00:13:46,690 gen, al gade nan lis la antye se jis pa yon konsèy nan eleman a an premye. 268 00:13:46,690 --> 00:13:49,360 Se konsa, nou vle pase nan yon konsèy ak sa yo ki eleman an premye, 269 00:13:49,360 --> 00:13:52,226 ak tou sa nou valè vle ajoute nan lis la. 270 00:13:52,226 --> 00:13:54,600 Ak evantyèlman sa a fonksyon ki pral retounen yon konsèy 271 00:13:54,600 --> 00:13:57,980 nan tèt nan nouvo nan yon lis lye. 272 00:13:57,980 --> 00:13:59,700 >> Ki sa ki etap sa yo ki enplike isit la? 273 00:13:59,700 --> 00:14:02,249 Oke, jis tankou ak kreye, nou bezwen dynamique asiyen 274 00:14:02,249 --> 00:14:05,540 espas pou yon nouvo ne, epi tcheke fè ke nou pa kouri soti nan memwa, ankò, 275 00:14:05,540 --> 00:14:07,150 paske nou ap sèvi ak malok. 276 00:14:07,150 --> 00:14:09,080 Lè sa a, nou vle peple ak insert ne la, 277 00:14:09,080 --> 00:14:12,730 se konsa mete nimewo a, tou sa Val se, an ne la. 278 00:14:12,730 --> 00:14:17,310 Nou vle insert ne la nan nan konmansman an nan lis la lye. 279 00:14:17,310 --> 00:14:19,619 >> Genyen yon rezon ki fè ke mwen vle fè sa, epi li 280 00:14:19,619 --> 00:14:21,910 ta ka vo pran yon dezyèm pran yon poz videyo a isit la, 281 00:14:21,910 --> 00:14:25,860 epi reflechi sou poukisa mwen ta vle Insert nan kòmansman an nan yon lye 282 00:14:25,860 --> 00:14:26,589 lis. 283 00:14:26,589 --> 00:14:28,630 Yon fwa ankò, mwen mansyone pi bonè ki li fè sa pa reyèlman 284 00:14:28,630 --> 00:14:33,020 gen pwoblèm si nou konsève li nan nenpòt lòd, se konsa petèt sa a, se yon siy. 285 00:14:33,020 --> 00:14:36,040 Apre sa, ou te wè sa ki ta rive si nou te vle to-- oswa ki soti nan jis yon dezyèm 286 00:14:36,040 --> 00:14:37,360 de sa lè nou te ale a rechèch ou 287 00:14:37,360 --> 00:14:39,235 te kapab wè sa ki ka rive si nou t ap 288 00:14:39,235 --> 00:14:41,330 insert nan fen lis la. 289 00:14:41,330 --> 00:14:44,750 Paske nou pa gen yon konsèy nan fen a nan lis la. 290 00:14:44,750 --> 00:14:47,490 >> Se konsa, rezon ki fè yo ke mwen ta vle insert nan kòmansman an, 291 00:14:47,490 --> 00:14:49,380 se paske mwen kapab fè li imedyatman. 292 00:14:49,380 --> 00:14:52,730 Mwen gen yon konsèy nan kòmansman an, ak nou pral wè sa a nan yon vizyèl nan yon dezyèm fwa. 293 00:14:52,730 --> 00:14:55,605 Men, si mwen vle insert nan fen a, Mwen gen yo kòmanse nan kòmansman an, 294 00:14:55,605 --> 00:14:58,760 Traverse tout wout la nan la ka fèt, ak Lè sa a fofile l 'sou. 295 00:14:58,760 --> 00:15:01,420 Se konsa, ki ta vle di ke mete nan fen lis la 296 00:15:01,420 --> 00:15:04,140 ta vin yon O nan n operasyon an, pral tounen 297 00:15:04,140 --> 00:15:06,720 nan diskisyon nou an nan enfòmatik konpleksite. 298 00:15:06,720 --> 00:15:10,140 Li ta vin yon o nan n operasyon, kote kòm lis la te resevwa pi gwo, ak pi gwo, 299 00:15:10,140 --> 00:15:13,310 ak pi gwo, li pral vin pi plis ak pi difisil yo fofile yon bagay 300 00:15:13,310 --> 00:15:14,661 sou nan fen an. 301 00:15:14,661 --> 00:15:17,410 Men, li la toujou reyèlman fasil yo fofile yon bagay sou nan kòmansman an, 302 00:15:17,410 --> 00:15:19,060 w ap toujou nan konmansman an. 303 00:15:19,060 --> 00:15:21,620 >> Epitou, n ap wè yon vizyèl nan sa a ankò. 304 00:15:21,620 --> 00:15:24,100 Lè sa a, yon fwa nou ap fè, yon fwa nou te mete ne nan nouvo, 305 00:15:24,100 --> 00:15:26,880 nou vle retounen konsèy nou yo tèt nan nouvo nan yon lis lye, ki 306 00:15:26,880 --> 00:15:29,213 depi nou ap mete nan la kòmanse, yo pral aktyèlman ap 307 00:15:29,213 --> 00:15:31,060 yon konsèy nan ne la nou jis kreye. 308 00:15:31,060 --> 00:15:33,280 Se pou nou visualized sa a, paske mwen panse ke li pral ede. 309 00:15:33,280 --> 00:15:36,661 >> Se konsa, isit la nan lis nou an, li gen ladann nan kat eleman, yon ne ki gen 15, 310 00:15:36,661 --> 00:15:38,410 ki lonje dwèt nan yon ne ki gen 9, ki 311 00:15:38,410 --> 00:15:41,370 lonje dwèt nan yon ne ki gen 13, ki lonje dwèt nan yon ne ki gen 312 00:15:41,370 --> 00:15:44,840 10, ki te gen nil nan konsèy kòm konsèy pwochen li yo 313 00:15:44,840 --> 00:15:47,010 se konsa sa a, se nan fen lis la. 314 00:15:47,010 --> 00:15:50,200 Se konsa, nou vle insert yon nouvo ne ak valè a 12 315 00:15:50,200 --> 00:15:52,720 nan kòmansman an nan sa a lis, ki sa nou fè? 316 00:15:52,720 --> 00:15:58,770 Oke, premye nou malok espas pou la ne, ak Lè sa nou mete 12 nan la. 317 00:15:58,770 --> 00:16:02,211 >> Se konsa, kounye nou te rive jwenn yon pwen desizyon, dwa? 318 00:16:02,211 --> 00:16:03,960 Nou gen yon koup la endikasyon ki nou te kapab 319 00:16:03,960 --> 00:16:06,770 avanse pou pi, ki youn ta dwe nou deplase premye? 320 00:16:06,770 --> 00:16:09,250 Eske nou ta dwe fè 12 pwen A ak tèt nan nouvo nan list-- nan 321 00:16:09,250 --> 00:16:13,020 oswa eskize mwen, yo ta dwe nou fè 12 lonje dwèt sou tèt la fin vye granmoun nan lis la? 322 00:16:13,020 --> 00:16:15,319 Osinon èske nou dwe di ke nan lis kounye a kòmanse nan 12. 323 00:16:15,319 --> 00:16:17,110 Genyen yon diferans a, epi n ap gade 324 00:16:17,110 --> 00:16:19,870 nan sa ki k ap pase ak tou de nan yon dezyèm fwa. 325 00:16:19,870 --> 00:16:23,350 >> Men, sa a mennen nan yon gwo sijè pou ankadre, 326 00:16:23,350 --> 00:16:26,280 ki se ke youn nan la trickiest bagay sa yo ak lis lye 327 00:16:26,280 --> 00:16:30,980 se pou fè aranjman pou pwent yo yo nan lòd ki kòrèk la. 328 00:16:30,980 --> 00:16:34,520 Si w demenaje bagay sa yo soti nan lòd, ou ka fini aksidantèlman 329 00:16:34,520 --> 00:16:36,050 orphaning rès la nan lis la. 330 00:16:36,050 --> 00:16:37,300 Ak isit la nan yon egzanp sou sa. 331 00:16:37,300 --> 00:16:40,540 Se konsa an n ale ak lide la de- byen, nou te jis te kreye 12. 332 00:16:40,540 --> 00:16:43,180 Nou konnen 12 a pwal tèt nan nouvo nan lis la, 333 00:16:43,180 --> 00:16:47,660 ak konsa poukisa pa nou jis deplase lis konsèy la nan pwen a. 334 00:16:47,660 --> 00:16:49,070 >> OK, se konsa sa a, se bon. 335 00:16:49,070 --> 00:16:51,560 Se konsa, kounye kote fè 12 pwen apre a? 336 00:16:51,560 --> 00:16:54,580 Mwen vle di, nou ka wè vizyèlman ke li pral lonje dwèt sou 15, 337 00:16:54,580 --> 00:16:57,250 kòm moun li vrèman evidan yo ban nou. 338 00:16:57,250 --> 00:17:00,300 Ki jan òdinatè a konnen? 339 00:17:00,300 --> 00:17:02,720 Nou pa gen anyen montre a 15 ankò, dwa? 340 00:17:02,720 --> 00:17:05,869 >> Nou te pèdi nenpòt kapasite, al gade nan 15. 341 00:17:05,869 --> 00:17:11,460 Nou pa ka di nouvo flèch egal pwochen yon bagay, pa gen anyen la. 342 00:17:11,460 --> 00:17:13,510 An reyalite, nou te òfelen rès la nan lis la 343 00:17:13,510 --> 00:17:16,465 pa fè sa, nou te aksidantèlman kase chèn lan. 344 00:17:16,465 --> 00:17:18,089 E nou sètènman pa vle fè sa. 345 00:17:18,089 --> 00:17:20,000 >> Se konsa, kite yo ale retounen lakay yo epi eseye sa a ankò. 346 00:17:20,000 --> 00:17:24,060 Petèt bagay ki dwat yo fè se yo mete 12 nan pwochen konsèy 347 00:17:24,060 --> 00:17:28,290 nan tèt la fin vye granmoun nan lis nan premye, lè sa a nou kapab deplase lis la sou. 348 00:17:28,290 --> 00:17:30,420 Lè an reyalite, se sa ki nan lòd kòrèk ke nou 349 00:17:30,420 --> 00:17:32,836 bezwen swiv lè nou ap travay ak lis separeman lye. 350 00:17:32,836 --> 00:17:36,460 Nou toujou vle konekte nan nouvo eleman nan lis la, 351 00:17:36,460 --> 00:17:41,010 anvan nou pran ki kalite etap enpòtan nan chanje 352 00:17:41,010 --> 00:17:43,360 kote tèt la nan lis la lye se. 353 00:17:43,360 --> 00:17:46,740 Yon fwa ankò, sa a, se tankou yon bagay fondamantal, nou pa vle pèdi tras nan li. 354 00:17:46,740 --> 00:17:49,310 >> Se konsa, nou vle asire w ke tout bagay se nan chenn ansanm, 355 00:17:49,310 --> 00:17:52,040 anvan nou deplase ki konsèy. 356 00:17:52,040 --> 00:17:55,300 Se konsa, sa a ta ka lòd ki kòrèk la, ki se yo konekte 12 a lis la, 357 00:17:55,300 --> 00:17:57,630 Lè sa a, di ke lis la kòmanse yon 12. 358 00:17:57,630 --> 00:18:00,860 Si nou di lis la kòmanse nan 12 ak Lè sa a, te eseye konekte 12 a lis la, 359 00:18:00,860 --> 00:18:02,193 nou te deja wè sa ki rive. 360 00:18:02,193 --> 00:18:04,920 Nou pèdi lis la pa erè. 361 00:18:04,920 --> 00:18:06,740 >> OK, se konsa yon sèl bagay plis yo pale sou. 362 00:18:06,740 --> 00:18:09,750 E si nou vle debarase m de yon tout lye lis nan yon fwa? 363 00:18:09,750 --> 00:18:11,750 Yon fwa ankò, nou ap mallocing tout espas sa a, epi pou nou 364 00:18:11,750 --> 00:18:13,351 bezwen libere li lè nou ap fè. 365 00:18:13,351 --> 00:18:15,350 Se konsa, kounye a nou vle efase tout lis la lye. 366 00:18:15,350 --> 00:18:16,850 Oke, sa nou vle fè? 367 00:18:16,850 --> 00:18:20,460 >> Si nou te rive nan konsèy la nil, nou vle sispann, otreman, jis efase 368 00:18:20,460 --> 00:18:23,420 rès la nan lis la ak Lè sa a libere m '. 369 00:18:23,420 --> 00:18:28,890 Debarase m de rès la nan lis la, ak Lè sa a gratis ne aktyèl la. 370 00:18:28,890 --> 00:18:32,850 Ki sa ki son tankou, sa teknik gen nou te pale 371 00:18:32,850 --> 00:18:35,440 sou deja fè sa son tankou? 372 00:18:35,440 --> 00:18:39,560 Debarase m de tout lòt moun, lè sa a tounen ak efase m '. 373 00:18:39,560 --> 00:18:42,380 >> Sa a rkursyon, nou te fè a pwoblèm yon ti kras pi piti, 374 00:18:42,380 --> 00:18:46,910 nou ap di tout moun efase lòt moun, lè sa a ou ka efase m '. 375 00:18:46,910 --> 00:18:50,940 Ak plis desann wout la, ki ne pral di, efase tout lòt moun. 376 00:18:50,940 --> 00:18:53,940 Men evantyèlman nou pral ale nan nan pwen kote lis la se nil, 377 00:18:53,940 --> 00:18:55,310 e ke sa a ka baz nou an. 378 00:18:55,310 --> 00:18:57,010 >> Se konsa, kite a pran yon gade nan sa a, ak ki jan sa a ta ka travay. 379 00:18:57,010 --> 00:18:59,759 Se konsa, isit la nan lis nou an, li nan menm bagay la tou lis nou te jis ap pale de, 380 00:18:59,759 --> 00:19:00,980 ak gen nan etap sa yo. 381 00:19:00,980 --> 00:19:04,200 Genyen yon anpil nan tèks isit la, men èspere ke vizyalizasyon a ap ede. 382 00:19:04,200 --> 00:19:08,557 >> Se konsa, nou en-epi tou mwen te rale moute nou an ilistrasyon ankadreman chemine 383 00:19:08,557 --> 00:19:10,890 soti nan videyo nou an sou apèl pil, ak èspere ke tout bagay sa yo 384 00:19:10,890 --> 00:19:13,260 ansanm pral montre w sa k ap pase sou. 385 00:19:13,260 --> 00:19:14,510 Se konsa, isit la nan Kòd pseudocode nou an. 386 00:19:14,510 --> 00:19:17,830 Si nou rive nan yon nil konsèy, sispann, otreman, 387 00:19:17,830 --> 00:19:21,320 efase rès la nan lis la, Lè sa a, libere ne aktyèl la. 388 00:19:21,320 --> 00:19:25,700 Se konsa, kounye a, list-- konsèy la ke nou ap 389 00:19:25,700 --> 00:19:28,410 pase nan detwi pwen yo 12. 390 00:19:28,410 --> 00:19:33,340 12 se pa yon konsèy nil, se konsa nou ap ale nan efase rès la nan lis la. 391 00:19:33,340 --> 00:19:35,450 >> Ki sa ki efase nan rès nan nou patisipe? 392 00:19:35,450 --> 00:19:37,950 Oke, sa vle di fè yon rele detwi, li di 393 00:19:37,950 --> 00:19:42,060 ki 15 se nan konmansman an nan nan rès nan lis la nou vle detwi. 394 00:19:42,060 --> 00:19:47,480 Se konsa, rele nan detwi 12 se kalite sou kenbe. 395 00:19:47,480 --> 00:19:52,690 Li nan frizè a, ap tann pou nan rele detwi 15, a fini travay li yo. 396 00:19:52,690 --> 00:19:56,280 >> Oke, 15 se pa yon konsèy nil, ak se konsa li k ap pase yo di, tout dwa, 397 00:19:56,280 --> 00:19:58,450 byen, efase rès la nan lis la. 398 00:19:58,450 --> 00:20:00,760 Rès la nan lis la kòmanse nan 9, e konsa nou pral jis 399 00:20:00,760 --> 00:20:04,514 rete tann jiskaske ou efase tout sa ki bagay, Lè sa a, tounen vin ak efase m '. 400 00:20:04,514 --> 00:20:06,680 Oke 9 k ap pase yo di, byen, Mwen pa yon konsèy nil, 401 00:20:06,680 --> 00:20:09,020 se konsa efase rès la lis la soti isit la. 402 00:20:09,020 --> 00:20:11,805 Se konsa, eseye epi detwi 13. 403 00:20:11,805 --> 00:20:15,550 13 di, mwen pa nil konsèy, menm bagay, li pase Buck la. 404 00:20:15,550 --> 00:20:17,930 10 se pa nil konsèy, 10 gen yon konsèy nil, 405 00:20:17,930 --> 00:20:20,200 men 10 se pa tèt li yon nil konsèy kounye a, 406 00:20:20,200 --> 00:20:22,470 ak pou li pase Buck a tou. 407 00:20:22,470 --> 00:20:25,560 >> Epi, koulye a lis pwen la, li reyèlman ta lonje dwèt sou some-- 408 00:20:25,560 --> 00:20:28,710 si mwen te gen plis espas nan imaj la, li ta lonje dwèt sou kèk espas o aza 409 00:20:28,710 --> 00:20:29,960 ke nou pa konnen sa li ye. 410 00:20:29,960 --> 00:20:34,680 Li nan konsèy la nil menm si, lis la se literalman kounye a mete li nan valè null. 411 00:20:34,680 --> 00:20:36,820 Li nan lonje dwèt dwat andedan ki bwat wouj. 412 00:20:36,820 --> 00:20:39,960 Nou te rive nan yon konsèy nil, se konsa nou ka sispann, epi nou ap fè. 413 00:20:39,960 --> 00:20:46,230 >> Se konsa, ki ankadreman koulè wouj violèt se now-- nan la tèt stack-- sa a, se ankadreman an aktif, 414 00:20:46,230 --> 00:20:47,017 men li la fè. 415 00:20:47,017 --> 00:20:48,600 Si nou te rive nan yon konsèy nil, sispann. 416 00:20:48,600 --> 00:20:51,290 Nou pa fè anyen, nou pa ka libere yon konsèy nil, 417 00:20:51,290 --> 00:20:55,070 nou pa t 'nenpòt ki malok espas, ak se konsa nou ap fè. 418 00:20:55,070 --> 00:20:57,590 Se konsa, ki ankadreman fonksyon la ap fini, epi nou 419 00:20:57,590 --> 00:21:00,930 resume-- nou ranmase kote nou te kite koupe ak pwochen pi wo youn nan, ki 420 00:21:00,930 --> 00:21:02,807 se sa a ankadreman ble fonse isit la. 421 00:21:02,807 --> 00:21:04,390 Se konsa, nou ranmase dwa ki kote nou te kite la. 422 00:21:04,390 --> 00:21:06,598 Nou efase rès la nan la lis deja, se konsa kounye a nou ap 423 00:21:06,598 --> 00:21:08,000 ale nan libere nœuds yo kounye a. 424 00:21:08,000 --> 00:21:12,920 Se konsa, kounye a nou ka libere ne sa a, e kounye a, nou te rive jwenn nan fen fonksyon an. 425 00:21:12,920 --> 00:21:16,810 Se konsa, se ke ankadreman fonksyon detwi, epi nou ranmase nan yon sèl nan limyè ble. 426 00:21:16,810 --> 00:21:20,650 >> Se konsa, li says-- Mwen te deja done-- efase rès la nan lis la, se konsa 427 00:21:20,650 --> 00:21:23,140 libere ne aktyèl la. 428 00:21:23,140 --> 00:21:26,520 Epi, koulye a ankadreman an jòn se tounen sou tèt pil la. 429 00:21:26,520 --> 00:21:29,655 Se konsa, ke ou wè, nou ap kounye a detwi lis la de dwat a gòch. 430 00:21:29,655 --> 00:21:33,710 431 00:21:33,710 --> 00:21:37,280 >> Ki sa ki ta te rive, menm si, si nou te fè bagay sa yo wout la mal? 432 00:21:37,280 --> 00:21:39,410 Jis tankou lè nou te eseye ajoute yon eleman. 433 00:21:39,410 --> 00:21:41,909 Si nou messed moute chèn lan, si nou pa t 'konekte pwent yo 434 00:21:41,909 --> 00:21:44,690 nan lòd ki kòrèk, si nou jis libere eleman nan premye, 435 00:21:44,690 --> 00:21:47,420 si nou jis libere nan ki an tèt lis la, kounye a nou 436 00:21:47,420 --> 00:21:49,642 pa gen okenn fason pou fè referans a rès la nan lis la. 437 00:21:49,642 --> 00:21:51,350 Se konsa, nou ta gen òfelen tout bagay, 438 00:21:51,350 --> 00:21:53,880 nou ta ka gen sa ki nan rele yon fwit memwa. 439 00:21:53,880 --> 00:21:56,800 Si ou sonje soti nan videyo nou an sou alokasyon memwa dinamik, 440 00:21:56,800 --> 00:21:58,650 sa a, se pa trè bon bagay. 441 00:21:58,650 --> 00:22:00,810 >> Se konsa, jan mwen te di, gen plizyè operasyon 442 00:22:00,810 --> 00:22:04,010 ke nou bezwen yo sèvi ak nan travay ak lye lis efektivman. 443 00:22:04,010 --> 00:22:08,430 Epi ou ka remake gen mwen omisyon yon sèl, efase yon eleman sèl ki sòti nan yon lye 444 00:22:08,430 --> 00:22:09,064 lis. 445 00:22:09,064 --> 00:22:10,980 Rezon ki fè la mwen te fè ki se li la aktyèlman kalite 446 00:22:10,980 --> 00:22:14,360 difisil yo reflechi sou ki jan yo efase yon eleman sèl ki sòti nan yon separeman 447 00:22:14,360 --> 00:22:15,600 lye lis. 448 00:22:15,600 --> 00:22:19,950 Nou bezwen pou kapab sote sou yon bagay nan lis la, ki 449 00:22:19,950 --> 00:22:22,975 vle di nou jwenn nan yon nou point-- vle efase sa a node-- 450 00:22:22,975 --> 00:22:25,350 men yo nan lòd yo fè l 'pou nou pa pèdi nenpòt enfòmasyon, 451 00:22:25,350 --> 00:22:30,530 nou bezwen konekte sa a ne sou isit la, isit la. 452 00:22:30,530 --> 00:22:33,390 >> Se konsa, mwen te fè sa ki mal pwobableman sòti nan yon pèspektiv vizyèl. 453 00:22:33,390 --> 00:22:36,830 Se konsa, nou ap nan konmansman an nan nou an lis, nou ap pwosedi a, 454 00:22:36,830 --> 00:22:40,510 nou vle efase ne sa a. 455 00:22:40,510 --> 00:22:43,440 Si nou jis efase li, nou te kase chèn lan. 456 00:22:43,440 --> 00:22:45,950 Ne sa a dwa isit la refere a tout lòt bagay, 457 00:22:45,950 --> 00:22:48,260 li gen chèn lan soti nan isit la sou deyò. 458 00:22:48,260 --> 00:22:51,190 >> Se konsa, sa nou bezwen fè aktyèlman apre nou ale nan pwen sa a, 459 00:22:51,190 --> 00:22:56,670 se nou bezwen etap tounen yon sèl, ak konekte ne sa a nan men ne sa a, 460 00:22:56,670 --> 00:22:58,590 pou nou ka Lè sa a, efase yon sèl la nan mitan yo. 461 00:22:58,590 --> 00:23:02,120 Men, lis separeman lye pa fè sa bay nou yon fason yo ale bak. 462 00:23:02,120 --> 00:23:05,160 Se konsa, nou bezwen swa kenbe de endikasyon, epi li deplase yo 463 00:23:05,160 --> 00:23:09,527 sòt de koupe etap, youn dèyè a lòt jan nou ale, oswa pou w jwenn nan yon pwen 464 00:23:09,527 --> 00:23:11,110 ak Lè sa a voye yon lòt konsèy nan. 465 00:23:11,110 --> 00:23:13,150 Ak jan ou ka wè, li ka jwenn yon ti kras sal. 466 00:23:13,150 --> 00:23:15,360 Erezman, nou gen yon lòt fason yo rezoud sa, 467 00:23:15,360 --> 00:23:17,810 lè nou pale sou lis doubl lye. 468 00:23:17,810 --> 00:23:20,720 >> Mwen se Doug Lloyd, sa a se CS50. 469 00:23:20,720 --> 00:23:22,298