1 00:00:00,000 --> 00:00:05,204 2 00:00:05,204 --> 00:00:07,370 DOUG LLOYD: Beraz baduzu pila bideoa ikusi ditut, 3 00:00:07,370 --> 00:00:09,870 hau da, ziurrenik, sentitzen joan deja vu pixka bat bezala. 4 00:00:09,870 --> 00:00:13,850 Honez oso antzeko kontzeptu bat joan, nahikoa da bertan bira txiki bat eginez. 5 00:00:13,850 --> 00:00:15,530 Orain ilarak buruz hitz egin behar izan dugu. 6 00:00:15,530 --> 00:00:19,350 Beraz, ilara batean, pila bat antzekoa, Datuen egitura mota bat da 7 00:00:19,350 --> 00:00:22,412 horri eutsi ezin dugu erabili modu antolatuan datuak. 8 00:00:22,412 --> 00:00:24,120 Pila bat antzekoa, ezarri ahal izango da 9 00:00:24,120 --> 00:00:27,000 array bat edo lotuta zerrenda bat bezala. 10 00:00:27,000 --> 00:00:30,320 Pila bat bezala, arauak erabiltzen dugun zehazteko 11 00:00:30,320 --> 00:00:34,210 denean gauzak gehitu eta kendu egiten urratsak ilararentzat pixka bat desberdinak dira. 12 00:00:34,210 --> 00:00:36,590 >> Pila bat, ez bezala, zein LIFO egitura bat da, 13 00:00:36,590 --> 00:00:45,610 iraungo, lehena inprimatu, ilara bat FIFO da egitura, FIFO, lehenengo, lehena inprimatu. 14 00:00:45,610 --> 00:00:49,320 Orain ilarak, seguruenik ilarak analogia bat dute. 15 00:00:49,320 --> 00:00:52,820 Duzun inoiz lerro izan bada at jolas-parke bat edo banku batean, 16 00:00:52,820 --> 00:00:56,430 han zuzentasuna moduko egitura gauzatzeko. 17 00:00:56,430 --> 00:00:59,160 Lehen lerroan pertsona at bankura lehen pertsona da 18 00:00:59,160 --> 00:01:00,760 nork lortzen den kontalaria hitz egiten. 19 00:01:00,760 --> 00:01:03,522 >> Lasterketa moduko lizateke hondoan modu bakarra bada 20 00:01:03,522 --> 00:01:06,730 to at kontalaria esateko lortu duzu banku zen ildotik azken pertsona izango da. 21 00:01:06,730 --> 00:01:09,146 Denek litzateke beti nahi azken pertsona izan nahi ildotik, 22 00:01:09,146 --> 00:01:12,580 eta pertsona nor ez zegoen lehen nor izan zain pixka bat, 23 00:01:12,580 --> 00:01:14,715 Han izan daiteke orduz, eta orduz, eta ordu 24 00:01:14,715 --> 00:01:17,590 dute aukera bat benetan aurretik erretiratuko dirurik bankuan. 25 00:01:17,590 --> 00:01:22,510 Eta beraz, ilarak moduko daude zuzentasuna egitura gauzatzeko. 26 00:01:22,510 --> 00:01:25,780 Baina horrek ez du esan nahi pilak hori txarra dira, besterik 27 00:01:25,780 --> 00:01:28,160 ilarak dela egiteko beste modu bat. 28 00:01:28,160 --> 00:01:32,420 Beraz, berriro ere ilara bat da, lehen aldiz, eta lehen out, iraun ere pila bat versus, 29 00:01:32,420 --> 00:01:34,440 lehen egindako. 30 00:01:34,440 --> 00:01:36,190 Pila bat antzekoa, Bi operazio daukagu 31 00:01:36,190 --> 00:01:38,470 ilarak izan dezakegun hori gauzatzeko. 32 00:01:38,470 --> 00:01:43,910 Izen hauek enqueue dira, hau da, gehitu Ilaran amaierara arte elementu berri bat, 33 00:01:43,910 --> 00:01:47,330 eta adierazten du, hau da, zaharrena kentzeko 34 00:01:47,330 --> 00:01:49,670 Ilaran aurrean ere elementu. 35 00:01:49,670 --> 00:01:53,600 Beraz, elementu gehitzen joan Ilaran bukaera aldera, 36 00:01:53,600 --> 00:01:57,220 eta horretan ari gara elementuak kendu egingo da Ilaran aurrean ere. 37 00:01:57,220 --> 00:02:00,790 Berriz ere, pila batekin, gehituz ari ginen pilaren goialdean elementu 38 00:02:00,790 --> 00:02:03,380 eta elementu kendu pila goitik. 39 00:02:03,380 --> 00:02:07,570 Beraz enqueue batera, egoten da gehituz Amaieran, aurrean kentzean. 40 00:02:07,570 --> 00:02:10,639 Beraz, ez da gauza zaharrena Hurrengo gauza da beti 41 00:02:10,639 --> 00:02:13,620 atera saiatzen bagara eta, zerbait adierazten. 42 00:02:13,620 --> 00:02:18,330 >> Beraz, berriro ere, ilarak batera, ahal dugun array oinarritutako inplementazio 43 00:02:18,330 --> 00:02:20,110 eta lotutako zerrenda oinarritutako inplementazio. 44 00:02:20,110 --> 00:02:24,620 Hasiko gara berriro ekin array oinarritutako inplementazio. 45 00:02:24,620 --> 00:02:27,070 Egitura hori definitzea nahiko antzekoa dela. 46 00:02:27,070 --> 00:02:30,720 Array bat daukagu Datu mota balioaren han, 47 00:02:30,720 --> 00:02:32,690 hain arbitrarioa datu motak eutsi ahal izango da. 48 00:02:32,690 --> 00:02:35,570 Berriro ari gara erabili joan Adibide honetan zenbaki osoko. 49 00:02:35,570 --> 00:02:39,830 >> Eta besterik ez bezala, gure array oinarritutako pila ezartzeko, 50 00:02:39,830 --> 00:02:42,340 bat erabiltzen ari garelako array, nahitaez dugu 51 00:02:42,340 --> 00:02:46,850 mugarik izan duten C motako of us on behartzean, hau da, ez dugu 52 00:02:46,850 --> 00:02:51,670 ez duen dinamismoa dute gure hazten eta txikitu array gaitasuna. 53 00:02:51,670 --> 00:02:55,710 Hasieran erabaki behar dugu zer gehienez gauzak kopurua da 54 00:02:55,710 --> 00:02:59,300 hau sartu garela jarri ahal ilaran, eta kasu honetan, 55 00:02:59,300 --> 00:03:02,070 ahalmena kiloko batzuk izango litzateke gure kodea konstante definitu. 56 00:03:02,070 --> 00:03:05,430 Eta honetan, hitz egiteko video, ahalmena da 10 izango da. 57 00:03:05,430 --> 00:03:07,690 >> Segimendua egiteko behar dugu Ilaran aurrealdean 58 00:03:07,690 --> 00:03:11,160 beraz, badakigu zein elementu to Adierazten nahi dugu, 59 00:03:11,160 --> 00:03:15,070 eta, era berean, segimendua egiteko behar dugu Zerbait elementu kopurua Bestela 60 00:03:15,070 --> 00:03:16,690 Gure ilarako dugula. 61 00:03:16,690 --> 00:03:19,360 Ohartu ez gara jarraipena Ilaran amaieraren, besterik 62 00:03:19,360 --> 00:03:21,150 Ilaran tamaina. 63 00:03:21,150 --> 00:03:24,310 Eta horren arrazoia, eta espero dugu Pixka bat une batean argiagoa. 64 00:03:24,310 --> 00:03:26,143 Amaitu eta gero mota honen definizioa, 65 00:03:26,143 --> 00:03:29,080 datu-mota berri bat daukagu bertan, orain ezin dugu ilaran deitzen, 66 00:03:29,080 --> 00:03:30,630 Datu mota horretako aldagai deklaratzen. 67 00:03:30,630 --> 00:03:35,350 Eta zertxobait nahastu, erabaki dut ilaran q honetan, gutun deitzeko 68 00:03:35,350 --> 00:03:38,090 ordez, datu-mota q la q. 69 00:03:38,090 --> 00:03:39,600 >> Hortaz, hona hemen gure ilara da. 70 00:03:39,600 --> 00:03:40,700 Egitura bat da. 71 00:03:40,700 --> 00:03:45,730 Hiru kide edo hiru biltzen ditu eremuak, tamaina EDUKIERA array bat. 72 00:03:45,730 --> 00:03:47,340 Kasu honetan, edukiera 10 da. 73 00:03:47,340 --> 00:03:49,580 Eta array hau da Osoko zenbaki eutsi behar. 74 00:03:49,580 --> 00:03:55,240 Berdez gure ilara aurrean da, hurrengo elementua kendu egin behar da, eta gorriz 75 00:03:55,240 --> 00:03:58,610 Ilaran tamaina izango da, zenbat elementuak dira gaur egun 76 00:03:58,610 --> 00:04:01,190 Ilaran daudenik. 77 00:04:01,190 --> 00:04:05,300 Q.front berdinen esan, beraz badugu 0 eta q.size tamaina berdinen 0-- 78 00:04:05,300 --> 00:04:07,120 0 s ari gara arlo horietan. 79 00:04:07,120 --> 00:04:11,070 Eta puntu honetan, nahiko askoz gaude prest gure ilara batekin lanean hasteko. 80 00:04:11,070 --> 00:04:14,140 >> Beraz, lehen operazioa ahal dugun burutu da zerbait ilaran, 81 00:04:14,140 --> 00:04:16,860 Elementu berri bat gehitzeko Ilaran amaieran. 82 00:04:16,860 --> 00:04:19,089 Beno, zer egin behar dugu kasu orokorra egin? 83 00:04:19,089 --> 00:04:23,690 Beno, funtzio hau ilaran beharrak gure ilara erakuslea onartzeko. 84 00:04:23,690 --> 00:04:26,370 Berriz ere, ez dugu bada deklaratu zuen Gure ilaran orokorrean, 85 00:04:26,370 --> 00:04:29,490 ez genuke behar hori egin ahal izateko nahitaez, baina, oro har, ez dugu 86 00:04:29,490 --> 00:04:32,330 erakusleak onartu behar datu egiturak 87 00:04:32,330 --> 00:04:35,040 Hau atsegin, bestela delako, balioa ez gara ari gara pasatzen 88 00:04:35,040 --> 00:04:38,140 Ilaran kopiak pasatzen, eta ez gara benetan aldatuz orain 89 00:04:38,140 --> 00:04:41,050 Ilaran hori aldatu nahi dugu. 90 00:04:41,050 --> 00:04:44,860 >> Egin behar da, beste gauza da onartu Datu motaren elementu bat. 91 00:04:44,860 --> 00:04:46,818 Berriz ere, kasu honetan, ez da osokoa izan da joan, 92 00:04:46,818 --> 00:04:49,330 baina arbitrarioki ezin duzu Datu motaren balio gisa deklaratzeko 93 00:04:49,330 --> 00:04:51,160 eta hau erabiltzeko, oro har. 94 00:04:51,160 --> 00:04:56,030 Hori ilaran nahi dugun elementua da, gehitu ilaran amaieran nahi dugu. 95 00:04:56,030 --> 00:04:58,573 Ondoren dugu benetan nahi place datu horiek ilaran. 96 00:04:58,573 --> 00:05:01,490 Kasu honetan, jarriz batean gure array kokapen egokia, 97 00:05:01,490 --> 00:05:05,040 eta, ondoren, tamaina aldatu nahi dugu ilaran, zenbat elementu dugu 98 00:05:05,040 --> 00:05:07,050 Une dute. 99 00:05:07,050 --> 00:05:07,990 >> Beraz, hasi gaitezen. 100 00:05:07,990 --> 00:05:10,890 Hemen da, berriz ere, oro har, hori Formulario funtzioa adierazpena 101 00:05:10,890 --> 00:05:13,980 nolakoak liteke enqueue begiratzen da. 102 00:05:13,980 --> 00:05:14,910 Eta hemen dugu joan. 103 00:05:14,910 --> 00:05:18,335 Dezagun ilaran kopuruaren 28 ilaran sartu. 104 00:05:18,335 --> 00:05:19,460 Beraz, zer egin behar dugu joan? 105 00:05:19,460 --> 00:05:23,390 Beno, gure ilara aurrean da 0, eta gure ilara tamaina hartu du 106 00:05:23,390 --> 00:05:29,680 0 da, eta beraz, seguraski jarri nahi dugu array elementu kopurua ere 28 zenbakira 107 00:05:29,680 --> 00:05:31,124 0 da, ezta? 108 00:05:31,124 --> 00:05:32,540 Beraz, orain dugu ez direla jartzen. 109 00:05:32,540 --> 00:05:34,820 Beraz, gaur egun, zer aldatu behar dugu? 110 00:05:34,820 --> 00:05:37,090 Guk ez dugu aldatu nahi Ilaran aurrealdean, 111 00:05:37,090 --> 00:05:40,850 zer elementu jakin nahi dugulako Beranduago Adierazten behar dugu. 112 00:05:40,850 --> 00:05:44,020 Beraz, arrazoia aurrean ez Zer da adierazle bat sort da 113 00:05:44,020 --> 00:05:46,439 array gauzarik zaharrena. 114 00:05:46,439 --> 00:05:49,730 Beno array gauzarik zaharrena ere Izan ere, array gauza bakarra eskuineko 115 00:05:49,730 --> 00:05:53,540 da gaur egun, 28 da, hau da, array kokapena 0. 116 00:05:53,540 --> 00:05:56,160 Beraz, ez dugu nahi zenbakia berde hori aldatu, 117 00:05:56,160 --> 00:05:57,910 duten elementu zaharrena delako. 118 00:05:57,910 --> 00:06:00,510 Baizik eta, tamaina aldatu nahi dugu. 119 00:06:00,510 --> 00:06:04,110 Beraz, kasu honetan, dugu Kontatzailea tamaina 1era. 120 00:06:04,110 --> 00:06:08,430 >> Orain bertan, ideia moduko orokor bat hurrengo elementua da ilara batean joango gara 121 00:06:08,430 --> 00:06:12,310 bi zenbaki horiek gehitzeko elkarrekin, aurreko eta tamaina, 122 00:06:12,310 --> 00:06:16,390 eta hori esango dizu non hurrengoan ilaran elementu da joango gara. 123 00:06:16,390 --> 00:06:18,130 Beraz, gaur egun dezagun ilaran zenbaki batera. 124 00:06:18,130 --> 00:06:20,250 Dezagun ilaran 33. 125 00:06:20,250 --> 00:06:24,480 Beraz, 33 da sartzen joan array kokapena 0 plus 1. 126 00:06:24,480 --> 00:06:26,840 Beraz, kasu honetan, joan da array kokapena 1 doaz; 127 00:06:26,840 --> 00:06:29,500 eta orain gure ilara tamainaren 2 da. 128 00:06:29,500 --> 00:06:31,840 >> Berriz ere, ez gara aldatzen Gure ilaran aurrealdean, 129 00:06:31,840 --> 00:06:34,730 28 da oraindik delako elementu zaharrena, eta guk 130 00:06:34,730 --> 00:06:38,220 Nahi zaie, azkenean lortu dugu , dequeuing elementu kendu 131 00:06:38,220 --> 00:06:43,300 ilaran honetatik, jakin nahi dugu non elementu zaharrena da. 132 00:06:43,300 --> 00:06:48,620 Eta beraz, beti behar dugu, mantentzeko Bertan dela adierazle batzuk. 133 00:06:48,620 --> 00:06:50,410 Beraz, hori da 0 da han. 134 00:06:50,410 --> 00:06:52,910 Hori aurrean zer dago egiteko. 135 00:06:52,910 --> 00:06:55,022 >> Let enqueue ere aren elementu bat gehiago, 19. 136 00:06:55,022 --> 00:06:56,980 Ziur asmatzen dezakezu naiz Bertan 19 da joango gara. 137 00:06:56,980 --> 00:06:59,860 Honez sartzen joan array kokapena kopurua 2. 138 00:06:59,860 --> 00:07:01,570 Hori da, 0 eta 2. 139 00:07:01,570 --> 00:07:03,199 Eta orain, gure ilara tamainaren 3 da. 140 00:07:03,199 --> 00:07:04,240 3 da elementu daukagu. 141 00:07:04,240 --> 00:07:08,490 Beraz bagenu, eta ez goaz oraintxe, beste elementu bat ilaran, 142 00:07:08,490 --> 00:07:11,370 array kokapena litzateke joan 3. zenbakian, eta gure ilaran tamainaren 143 00:07:11,370 --> 00:07:13,160 4 litzateke. 144 00:07:13,160 --> 00:07:15,279 Beraz, hainbat elementu enqueued dugu gaur egun. 145 00:07:15,279 --> 00:07:16,570 Orain dezagun hasteko ezabatzea. 146 00:07:16,570 --> 00:07:19,450 Dezagun Adierazten ilaran. 147 00:07:19,450 --> 00:07:23,340 >> Beraz, antzeko, Pop, eta ordenatu honen analogikoa pilak egiteko, 148 00:07:23,340 --> 00:07:26,180 Adierazten bat onartu behar du Ilara erakuslea berriro, 149 00:07:26,180 --> 00:07:28,140 Honez globalean deklaratu ezean. 150 00:07:28,140 --> 00:07:31,610 Orain kokalekua aldatu nahi dugu Ilaran aurrean. 151 00:07:31,610 --> 00:07:35,050 Hau da, non sort dator jokoan sartzen, aurrean aldagai hori, 152 00:07:35,050 --> 00:07:37,310 behin kendu dugulako elementu bat, nahi dugun 153 00:07:37,310 --> 00:07:40,720 mugitu hurrengo elementu zaharrena da. 154 00:07:40,720 --> 00:07:44,180 >> Ondoren murriztu nahi dugu Ilaran tamaina, 155 00:07:44,180 --> 00:07:47,130 eta, ondoren, balio du itzuli nahi dugu Hori ilaran kendu zen. 156 00:07:47,130 --> 00:07:48,921 Berriz ere, ez dugu nahi, besterik gabe baztertu da. 157 00:07:48,921 --> 00:07:51,170 Zentzuzkoa erauzten ari gara Ilara gara bertatik 158 00:07:51,170 --> 00:07:54,170 egiten dequeuing horri buruz zaintzen dugulako. 159 00:07:54,170 --> 00:08:01,080 Beraz itzultzeko funtzio hau nahi dugu Datu mota balio elementu bat. 160 00:08:01,080 --> 00:08:04,360 Berriz ere, kasu honetan, balio osokoa da. 161 00:08:04,360 --> 00:08:05,670 >> Beraz, gaur egun dezagun Adierazten zerbait. 162 00:08:05,670 --> 00:08:09,310 Dezagun kendu elementu bat ilaran. 163 00:08:09,310 --> 00:08:15,970 Esan badugu int x berdinen & q, ampersand q-- Berriro hori q datu hau erakuslea da 164 00:08:15,970 --> 00:08:20,177 structure-- zer elementu da dequeued behar da? 165 00:08:20,177 --> 00:08:23,840 166 00:08:23,840 --> 00:08:29,480 Kasu honetan, lehen bat delako , lehenengo datuen egitura, FIFO out, 167 00:08:29,480 --> 00:08:33,690 Lehenengo gauza jarri hau sartu dugu ilaran 28 izan zen, eta, beraz, kasu honetan, 168 00:08:33,690 --> 00:08:37,245 28 libratu goaz Ilaran, ez 19, hau da, zer 169 00:08:37,245 --> 00:08:38,870 egin nahiko genuke hau pila bat bazegoen. 170 00:08:38,870 --> 00:08:42,220 28 hartu ilaran daudelarik goaz. 171 00:08:42,220 --> 00:08:44,960 >> Zer egin dugun antzekoa pila bat, ez gara benetan 172 00:08:44,960 --> 00:08:47,345 28 ezabatzen joan Ilaran bertatik, 173 00:08:47,345 --> 00:08:49,470 besterik ez gara nolako joan ren asmoa ez da han. 174 00:08:49,470 --> 00:08:51,678 Beraz, bertan geratuko joan oroimenean, baina besterik ez gara 175 00:08:51,678 --> 00:08:57,820 mota baztertu mugituz joan Gure q datuak beste bi zelaietan 176 00:08:57,820 --> 00:08:58,830 egitura. 177 00:08:58,830 --> 00:09:00,230 Aurrean aldatzeko goaz. 178 00:09:00,230 --> 00:09:04,290 Q.front da orain joan izan 1, hau da, orain delako 179 00:09:04,290 --> 00:09:07,740 du elementu zaharrena ere izan dugu gure ilaran, dugu dagoeneko kendu 28 delako, 180 00:09:07,740 --> 00:09:10,460 bertan, antzinako elementu zaharrena zen. 181 00:09:10,460 --> 00:09:13,540 >> Eta orain, aldatu nahi dugu Ilaran tamainaren 182 00:09:13,540 --> 00:09:15,780 Hiru bi elementu ordez. 183 00:09:15,780 --> 00:09:20,450 Orain gogoratzen Esan dudan dugunean elementu gehitzeko ilaran nahi, 184 00:09:20,450 --> 00:09:26,000 jarri array kokapena batean bertan aurreko eta tamaina batura da. 185 00:09:26,000 --> 00:09:29,050 Beraz, kasu honetan, oraindik ari gara da, ilaran hurrengo elementua, 186 00:09:29,050 --> 00:09:33,360 array kokapena 3, eta sartu hori ikusiko dugu bigarren bat ere. 187 00:09:33,360 --> 00:09:35,730 >> Beraz, orain dequeued dugu gure ilaratik lehen elementua. 188 00:09:35,730 --> 00:09:36,480 Berriro egin dezagun. 189 00:09:36,480 --> 00:09:38,696 Dezagun kendu beste ilaratik elementu. 190 00:09:38,696 --> 00:09:42,400 Dagokienez, indarrean dagoen zaharrena elementu array kokapena 1 da. 191 00:09:42,400 --> 00:09:44,220 Hori zer q.front kontatzen digu. 192 00:09:44,220 --> 00:09:46,980 Koadro berde hori kontatzen digu duten elementu zaharrena da. 193 00:09:46,980 --> 00:09:49,310 Eta beraz, x 33 izango da. 194 00:09:49,310 --> 00:09:52,130 Besterik motatako ahaztu dugu duten 33 existitzen array, 195 00:09:52,130 --> 00:09:55,100 eta orduan, esan dugu hori ilaran elementu zaharrena berria 196 00:09:55,100 --> 00:09:58,900 array kokapena 2, eta tamainaren dago ilaran, elementu kopurua 197 00:09:58,900 --> 00:10:02,152 dugun ilaran, da 1. 198 00:10:02,152 --> 00:10:05,110 Orain dezagun ilaran zerbait, eta I Sort eman honen kanpoan duela bigarren, 199 00:10:05,110 --> 00:10:10,340 baina 40 jarri du sartu nahi badugu ilaran, non nik 40 joango gara? 200 00:10:10,340 --> 00:10:12,880 201 00:10:12,880 --> 00:10:17,730 Beno dugu sido jarriz Nik q.front plus ilaran tamaina, 202 00:10:17,730 --> 00:10:20,850 eta beraz, zentzuzkoa da Egia esan, 40 jarri behar da hemen. 203 00:10:20,850 --> 00:10:22,840 Orain konturatu dela uneren, goazen 204 00:10:22,840 --> 00:10:27,980 to amaieran iritsi q barrutik gure array, 205 00:10:27,980 --> 00:10:32,010 baina hori desagertu dira 28 eta 33-- benetan ari dira, teknikoki 206 00:10:32,010 --> 00:10:33,300 espazio libreak, ezta? 207 00:10:33,300 --> 00:10:36,040 Eta beraz, eventually-- genezake gehituz araua argi 208 00:10:36,040 --> 00:10:40,390 bi horiek, elkarrekin azkenean gaitezen mod behar ahalmena tamainaren arabera 209 00:10:40,390 --> 00:10:41,410 beraz inguruan biltzea izango dugu. 210 00:10:41,410 --> 00:10:43,620 >> Beraz, gero elementu dugu kopurua 10 bagaude 211 00:10:43,620 --> 00:10:48,790 Horretarako, ordeztu 10 zenbakia elementu ere, genuen benetan ipini array kokapena 0 da. 212 00:10:48,790 --> 00:10:50,997 Eta ari ginen joan bada array kokapen Barkatu, 213 00:10:50,997 --> 00:10:53,080 horiek gehitu dugu bada elkarrekin, eta lortu dugu kopuruak 214 00:10:53,080 --> 00:10:56,330 11 non jarri behar genuke izango litzateke da, eta horrek ez du array honek existitzen 215 00:10:56,330 --> 00:10:58,200 egiten joatea litzateke egindako mugetatik. 216 00:10:58,200 --> 00:11:03,367 Litezke 10 by mod dugu, eta jarri array kokapena 1 da. 217 00:11:03,367 --> 00:11:04,450 Beraz, hori da ilarak nola lan egiten. 218 00:11:04,450 --> 00:11:08,540 Beti ari dira Ezkerretik joango eskubidea eta seguru inguruan biltzeko. 219 00:11:08,540 --> 00:11:11,280 Eta badakizu ari dira tamaina bada osoa, koadro gorri horretan, 220 00:11:11,280 --> 00:11:13,710 ahalmen berdina bihurtzen. 221 00:11:13,710 --> 00:11:16,720 Eta gehitu hain ondoren dugu 40 arte ilaran, bai, zer egin behar dugu? 222 00:11:16,720 --> 00:11:19,890 Beno, elementu zaharrena Ilaran 19 da oraindik, 223 00:11:19,890 --> 00:11:21,990 beraz, ez dugu aldatu nahi Ilaran aurrealdean, 224 00:11:21,990 --> 00:11:23,820 baina orain bi ditugu ilaran elementuak, 225 00:11:23,820 --> 00:11:28,710 eta, beraz, handitu nahi dugu Gure 1etik 2ra tamaina. 226 00:11:28,710 --> 00:11:31,820 >> Hori nahiko askoz berarekin array oinarritutako ilarak lanean, 227 00:11:31,820 --> 00:11:33,630 eta pilatu antzeko, ez da ere modu bat 228 00:11:33,630 --> 00:11:36,450 ilararentzat lotutako zerrenda bat martxan jarri ahal izateko. 229 00:11:36,450 --> 00:11:40,150 Orain datu-egitura mota hau bada Itxura duzu ezagutzen, hau da. 230 00:11:40,150 --> 00:11:43,780 Ez da banaka lotuta zerrenda bat da, Bi aldiz lotuta zerrenda bat da. 231 00:11:43,780 --> 00:11:46,790 Eta orain, bat alde batera utzita, ez da benetan posible den ezartzeko 232 00:11:46,790 --> 00:11:50,160 ilararentzat banaka lotuta zerrenda bat bezala, baina Uste bisualizazio terminoetan I, 233 00:11:50,160 --> 00:11:53,350 benetan den ikusteko lagundu dezake Bi aldiz lotuta zerrenda gisa honetan. 234 00:11:53,350 --> 00:11:56,850 Baina, zalantzarik gabe, posible al da Horretarako banaka lotuta zerrenda bat bezala. 235 00:11:56,850 --> 00:12:00,110 >> Hargatik begirada bat zer hori itxura. 236 00:12:00,110 --> 00:12:02,750 To enquue-- nahi badugu beraz, orain, berriz ere gaude 237 00:12:02,750 --> 00:12:05,360 lotutako zerrenda bat aldatu Eredu hemen. 238 00:12:05,360 --> 00:12:08,420 To ilaran nahi badugu, nahi dugun Elementu berri bat gehitzeko, bai 239 00:12:08,420 --> 00:12:09,730 zer egin behar dugu? 240 00:12:09,730 --> 00:12:12,770 Beno, lehenik eta behin, zeren amaieran ari gara gehituz 241 00:12:12,770 --> 00:12:15,520 eta kentzean hasita, ziurrenik dugu 242 00:12:15,520 --> 00:12:20,050 bi erakusleak mantendu nahi Burua eta lotuta zerrendaren buztana? 243 00:12:20,050 --> 00:12:22,660 Buztana epe bat izateaz lotuta zerrendaren amaieran, 244 00:12:22,660 --> 00:12:24,496 lotuta zerrendan azken elementua. 245 00:12:24,496 --> 00:12:26,620 Eta horiek ziurrenik, berriro, izan guretzat onuragarria 246 00:12:26,620 --> 00:12:28,477 aldagai global badira. 247 00:12:28,477 --> 00:12:31,060 Baina orain, bada berri bat gehitu nahi dugu elementu, zer egin behar dugu? 248 00:12:31,060 --> 00:12:35,262 Zer besterik ez dugu [? Malak?] edo dinamikoki gure nodo berria esleitu geure buruari. 249 00:12:35,262 --> 00:12:38,220 Eta gero, besterik ez denean edozein gehitzen badiogu Bi aldiz lotuta zerrenda dugu bat elementu, 250 00:12:38,220 --> 00:12:40,410 besterik of-- ordenatzeko dute horiek azken hiru urrats hemen 251 00:12:40,410 --> 00:12:43,330 besterik ez dira guztiak mugituz buruz modu egokian erakusleak 252 00:12:43,330 --> 00:12:46,710 beraz elementua lortzen gehitu kate hautsi gabe kateko 253 00:12:46,710 --> 00:12:49,580 edo akats nolabaiteko egiteko edo istripu nolabaiteko beharrik 254 00:12:49,580 --> 00:12:54,505 gertatuko zeinaren dugu ustekabean gure ilaran elementu batzuk umezurtz. 255 00:12:54,505 --> 00:12:55,880 Hona hemen zer hori itxura. 256 00:12:55,880 --> 00:13:00,980 Elementua gehitu nahi dugu 10 ilaran honen amaierara arte. 257 00:13:00,980 --> 00:13:03,380 Du elementu zaharrena hemen So burua ordezkatuta. 258 00:13:03,380 --> 00:13:06,800 Hori da lehenengo gauza jarri genuen erantzuna hipotetiko ilaran hau hemen sartu. 259 00:13:06,800 --> 00:13:10,430 Eta buztana, 13, da gehien Azkenaldian gehitutako elementu. 260 00:13:10,430 --> 00:13:17,030 Eta beraz, 10 ilaran sartu nahi badugu ilara hau, jarri nahi 13 ondoren nahi dugu. 261 00:13:17,030 --> 00:13:19,860 Eta horrela goaz dinamikoki esleitu espazioa nodo berri bat 262 00:13:19,860 --> 00:13:23,280 eta nulua ziur egiteko dagoen egiaztatu ez dugu memoria porrot bat izan. 263 00:13:23,280 --> 00:13:27,040 Ondoren goaz place 10 nodo horretan sartu, 264 00:13:27,040 --> 00:13:30,030 eta orain kontu handiz ibili behar dugu erakusleak nola antolatzen ditugun buruz 265 00:13:30,030 --> 00:13:32,180 beraz, ez dugu katea hausteko. 266 00:13:32,180 --> 00:13:38,910 >> 10 aurreko eremu ezarri ahal izango ditugu, Atzera seinalatu zaharra buztana, 267 00:13:38,910 --> 00:13:41,620 eta '10 geroztik izango da uneren buztana berria 268 00:13:41,620 --> 00:13:44,459 garai horietan guztietan arabera kateak konektatuta daude, 269 00:13:44,459 --> 00:13:46,250 ezer ez da etorriko joan 10 ondoren oraintxe. 270 00:13:46,250 --> 00:13:49,880 Eta beraz, 10 hurrengo erakuslea null seinalatu egingo, 271 00:13:49,880 --> 00:13:53,580 eta, ondoren, hau egin dugu ondoren, behar dugu eta ondoren 10 atzeraka konektatutako katean, 272 00:13:53,580 --> 00:13:57,780 zaharra burua, edo, aitzakia hartu ahal izango dugu Niri, ilaran buztana zaharrean. 273 00:13:57,780 --> 00:14:02,980 Ilara amaieran zaharrean, 13 eta 10 puntu ditu. 274 00:14:02,980 --> 00:14:08,220 Eta orain, puntu honetan, ez dugu 10 zenbakia enqueued ilaran honetan sartu. 275 00:14:08,220 --> 00:14:14,740 Orain egin behar dugun besterik ez da mugitu buztana 10 13 ordez seinalatu. 276 00:14:14,740 --> 00:14:17,630 >> Dequeuing da benetan Popping oso antzekoak 277 00:14:17,630 --> 00:14:21,710 Hori da pila bat lotutako zerrenda moduan eginda 278 00:14:21,710 --> 00:14:24,040 pilak bideoa ikusi dut bada. 279 00:14:24,040 --> 00:14:27,280 Egin behar duguna da zenbait hasteko hasita, bigarren elementua aurkitzeko, 280 00:14:27,280 --> 00:14:30,480 lehen elementua askatzeko, eta gero, burua mugitu 281 00:14:30,480 --> 00:14:32,930 den bigarren elementu seinalatu. 282 00:14:32,930 --> 00:14:37,920 Seguruenik hobeto ikusmenarekin besterik estra dela argi izan. 283 00:14:37,920 --> 00:14:39,230 Beraz, hemen da berriro gure ilaran. 284 00:14:39,230 --> 00:14:42,600 12 elementurik zaharrena da Gure ilaran, buruan. 285 00:14:42,600 --> 00:14:46,210 10 elementu berriena da Gure ilaran, gure buztana ere. 286 00:14:46,210 --> 00:14:49,310 >> Eta beraz, nahi dugu elementu bat, adierazten du, 287 00:14:49,310 --> 00:14:52,202 elementu zaharrena kendu nahi dugu. 288 00:14:52,202 --> 00:14:52,910 Beraz, zer egiten dugu? 289 00:14:52,910 --> 00:14:55,243 Beno zeharkako erakuslea ezarri dugu Hori buruan hasten da, 290 00:14:55,243 --> 00:14:57,840 eta mugitu dugu, beraz, bigarren elementu puntu 291 00:14:57,840 --> 00:15:02,290 honen Ilara zerbait trav esanez berdinen hurrengo gezi trav, adibidez, 292 00:15:02,290 --> 00:15:07,170 trav mugituko litzateke ez den seinalatuko 15, eta bertan, adierazten dugu 12 ondoren, 293 00:15:07,170 --> 00:15:13,030 edo kentzen dugu ondoren 12, izango elementu orduan zaharrena bihurtu. 294 00:15:13,030 --> 00:15:16,360 >> Orain lortu dugu sotoan bat lehenean elementu erakuslea buruan bidez 295 00:15:16,360 --> 00:15:19,440 eta bigarren elementu erakuslea trav bidez. 296 00:15:19,440 --> 00:15:25,170 Eta, ondoren, ezin dugu burua orain askatu ahal izango dugu, esan ezer 15a baino lehen orduan jada. 297 00:15:25,170 --> 00:15:29,990 Beraz aldatzeko aukera izango dugu 15 aurreko erakuslea null seinalatu, 298 00:15:29,990 --> 00:15:31,874 eta burua mugitzen gara pasatxo. 299 00:15:31,874 --> 00:15:32,540 Eta ez dugu joan. 300 00:15:32,540 --> 00:15:35,840 Orain arrakastaz daukagu dequeued 12, eta orain dugu 301 00:15:35,840 --> 00:15:39,180 4 elementuak ilaran beste bat izan. 302 00:15:39,180 --> 00:15:41,700 Hori nahiko askoz guztiak ez ilarak da, 303 00:15:41,700 --> 00:15:45,810 bi array-oinarritutako eta lotutako zerrenda oinarrituta. 304 00:15:45,810 --> 00:15:46,860 Naiz Doug Lloyd. 305 00:15:46,860 --> 00:15:49,100 Hau CS 50 da. 306 00:15:49,100 --> 00:15:50,763