1 00:00:07,260 --> 00:00:10,050 [Powered by Google Translate] Programazioa, sarritan behar dugu balioen zerrendak irudikatzeko, 2 00:00:10,050 --> 00:00:12,840 hala nola, ikasleen izenak atal bat 3 00:00:12,840 --> 00:00:15,100 edo beren azken quiz partiturak. 4 00:00:15,100 --> 00:00:17,430 >> C hizkuntzan, deklaratu array erabil daiteke 5 00:00:17,430 --> 00:00:19,160 zerrendak gordetzeko. 6 00:00:19,160 --> 00:00:21,200 Erraza da zerrenda batean elementu aipa 7 00:00:21,200 --> 00:00:23,390 array batean gordetzen dira, eta sartzeko behar duzu bada 8 00:00:23,390 --> 00:00:25,050 aldatzeko edo zerrendako elementua Ith 9 00:00:25,050 --> 00:00:27,570 indize batzuk arbitrarioak I, 10 00:00:27,570 --> 00:00:29,910 denbora etengabe egin ahal izango da, 11 00:00:29,910 --> 00:00:31,660 baina array desabantailak ere. 12 00:00:31,660 --> 00:00:33,850 >> Horietako aldarrikatzen dugu, esan behar dugu ari 13 00:00:33,850 --> 00:00:35,900 aurrean nola big dute gora, 14 00:00:35,900 --> 00:00:38,160 hau da, zenbat elementu gorde ahal izango dute 15 00:00:38,160 --> 00:00:40,780 eta nola big elementu horiek dira, zein bere motaren arabera zehaztuko da. 16 00:00:40,780 --> 00:00:45,450 Esate baterako, int ARR (10) 17 00:00:45,450 --> 00:00:48,220 10 elementuak gorde ditzake 18 00:00:48,220 --> 00:00:50,200 int baten tamaina dira. 19 00:00:50,200 --> 00:00:52,590 >> Aitorpena egin ondoren, ezin dugu array baten tamaina aldatu. 20 00:00:52,590 --> 00:00:55,290 Array berri bat egin behar dugu, nahi dugu, elementu gehiago gorde nahi izanez gero. 21 00:00:55,290 --> 00:00:57,410 Muga hori existitzen arrazoia da gure 22 00:00:57,410 --> 00:00:59,040 programa osoa array gordetzen 23 00:00:59,040 --> 00:01:02,310 alboko zatia memoria gisa. 24 00:01:02,310 --> 00:01:04,500 Say honetan buffer non gordetzen gure array da. 25 00:01:04,500 --> 00:01:06,910 Beste aldagai batzuk ere izan liteke 26 00:01:06,910 --> 00:01:08,310 dago eskubidea hurrengo array 27 00:01:08,310 --> 00:01:10,060 memoria, eta, beraz, ezin dugu 28 00:01:10,060 --> 00:01:12,060 besterik ez egin array handiagoa. 29 00:01:12,060 --> 00:01:15,700 >> Batzuetan array azkar datuak sartzeko abiadura merkataritza genuke 30 00:01:15,700 --> 00:01:17,650 apur bat gehiago malgutasuna. 31 00:01:17,650 --> 00:01:20,380 Idatzi zerrenda lotuta, beste oinarrizko datu-egitura 32 00:01:20,380 --> 00:01:22,360 agian ez duzu ezagutzen. 33 00:01:22,360 --> 00:01:24,200 Maila altua, 34 00:01:24,200 --> 00:01:26,840 lotuta zerrenda bat gordetzen datuak nodoen sekuentzia 35 00:01:26,840 --> 00:01:29,280 diren loturak, elkarren artean lotuta 36 00:01:29,280 --> 00:01:31,760 hortik datorkio izena 'lotuta zerrenda.' 37 00:01:31,760 --> 00:01:33,840 Ikusi dugu, diseinu aldea 38 00:01:33,840 --> 00:01:35,500 abantailak eta desabantailak ezberdinak eramango gaitu 39 00:01:35,500 --> 00:01:37,000 array bat baino. 40 00:01:37,000 --> 00:01:39,840 >> Hona hemen batzuk C osoko zenbakien oso erraza lotuta zerrenda kodea. 41 00:01:39,840 --> 00:01:42,190 Nodo bakoitzean irudikatzen dugun dezakezu 42 00:01:42,190 --> 00:01:45,520 struct 2 gauza bat biltzen dituen zerrendan, 43 00:01:45,520 --> 00:01:47,280 zenbaki oso bat gordetzeko deitu 'val' 44 00:01:47,280 --> 00:01:50,460 eta hurrengo nodo zerrenda esteka 45 00:01:50,460 --> 00:01:52,990 izeneko erakuslea dugu 'next'. 46 00:01:54,120 --> 00:01:56,780 Horrela, zerrenda osoa jarraitzeko aukera izango dugu 47 00:01:56,780 --> 00:01:58,790 1go nodoaren erakuslea bakar bat, 48 00:01:58,790 --> 00:02:01,270 eta, ondoren, hurrengo erakusleak jarraitu ahal izango dugu 49 00:02:01,270 --> 00:02:03,130 2 nodo 50 00:02:03,130 --> 00:02:05,280 3 nodo 51 00:02:05,280 --> 00:02:07,000 4 nodo 52 00:02:07,000 --> 00:02:09,889 eta, beraz, zerrendaren bukaera arte iritsi. 53 00:02:10,520 --> 00:02:12,210 >> 1 abantaila hau ikusteko ahal izango duzu 54 00:02:12,210 --> 00:02:14,490 array egitura estatikoak baino gehiago lotuta zerrenda batekin, 55 00:02:14,490 --> 00:02:16,450 ez dugu behar memoria zati handi bat elkarrekin. 56 00:02:17,400 --> 00:02:20,530 Zerrendako 1. Nodo memorian leku hau bizi izan, 57 00:02:20,530 --> 00:02:23,160 eta 2 nodo hemen modu guztiak izan daitezke. 58 00:02:23,160 --> 00:02:25,780 Gaitezke nodo guztiak ez du axola non memoria dira, 59 00:02:25,780 --> 00:02:28,890 1ean nodo hasita, nodo bakoitzean hurrengo erakuslea delako 60 00:02:28,890 --> 00:02:31,700 kontatzen digu zehazki non hurrengo joan. 61 00:02:31,700 --> 00:02:33,670 >> Horrez gain, ez dugu esan nahi aurrean 62 00:02:33,670 --> 00:02:36,740 nola big lotuta zerrenda bat array estatiko egin dugu izango da, 63 00:02:36,740 --> 00:02:39,060 nodo zerrenda bat gehitzen jarraituko dugu 64 00:02:39,060 --> 00:02:42,600 betiere, espazio gisa da nodo berriak memoria nonbait. 65 00:02:42,600 --> 00:02:45,370 Beraz, zerrendak lotutako erraza dinamikoki tamainaz aldatu dira. 66 00:02:45,370 --> 00:02:47,950 Esan, geroago programa nodo gehiago gehitu behar dugu 67 00:02:47,950 --> 00:02:49,350 gure zerrendan sartu. 68 00:02:49,350 --> 00:02:51,480 Nodo berria sartu hegan gure zerrendan sartu da, eta 69 00:02:51,480 --> 00:02:53,740 nodo horren memoria esleitu egin behar dugu, 70 00:02:53,740 --> 00:02:55,630 plop datuak balioa, 71 00:02:55,630 --> 00:02:59,070 eta, ondoren, ipini non nahi erakusleak egokiak egokituz dugu. 72 00:02:59,070 --> 00:03:02,310 >> Esate baterako, artean nodo bat jarri nahi izan dugu 73 00:03:02,310 --> 00:03:04,020 zerrenda nodo 2 eta 3, 74 00:03:04,020 --> 00:03:06,800  ez genuke, 2 edo 3. nodo mugitzeko. 75 00:03:06,800 --> 00:03:09,190 Esan nodoa gorria txertatzen ari gara. 76 00:03:09,190 --> 00:03:12,890 Guztiak genuke berria nodo hurrengo erakuslea 77 00:03:12,890 --> 00:03:14,870 3 nodo batetara 78 00:03:14,870 --> 00:03:18,580 eta, ondoren, rewire hurrengo 2 nodo erakuslea 79 00:03:18,580 --> 00:03:20,980 gure nodo batetara. 80 00:03:22,340 --> 00:03:24,370 Beraz, gure zerrendak tamainaz aldatu ahal izango dugu hegan 81 00:03:24,370 --> 00:03:26,090 gure ordenagailuan ez baitu indexatzeko oinarritzen, 82 00:03:26,090 --> 00:03:28,990 baizik eta erakusleak erabiliz gorde estekatzeko. 83 00:03:29,120 --> 00:03:31,600 >> Hala eta guztiz ere, desabantaila bat lotuta zerrendak 84 00:03:31,600 --> 00:03:33,370 dago, array estatiko bat bezala, 85 00:03:33,370 --> 00:03:36,690 ordenagailua ezin zerrendaren erdian joango da. 86 00:03:38,040 --> 00:03:40,780 Ordenagailua nodo bakoitzean bisita lotuta zerrenda geroztik 87 00:03:40,780 --> 00:03:42,330 hurrengo bat lortzeko, 88 00:03:42,330 --> 00:03:44,770 gehiago tardatuko nodo bat aurkitu du 89 00:03:44,770 --> 00:03:46,400 array bat egiten baino. 90 00:03:46,400 --> 00:03:48,660 Zerrenda osoa denbora proportzionala zeharkatuko 91 00:03:48,660 --> 00:03:50,580 zerrendaren luzera, 92 00:03:50,580 --> 00:03:54,630 edo O (n) notazioa asymptotic. 93 00:03:54,630 --> 00:03:56,510 Batez beste, nodo edozein iritsi 94 00:03:56,510 --> 00:03:58,800 ere denbora n proportzionala. 95 00:03:58,800 --> 00:04:00,700 >> Orain, benetan idatzi kodea batzuk 96 00:04:00,700 --> 00:04:02,000 zerrendak lotuta lan egiten duen. 97 00:04:02,000 --> 00:04:04,220 Demagun zenbaki osoen zerrenda bat lotuta nahi dugu. 98 00:04:04,220 --> 00:04:06,140 Nodo bat irudikatu ahal izango ditugu, gure zerrendan berriro 99 00:04:06,140 --> 00:04:08,340 2 eremu eta egitura gisa, 100 00:04:08,340 --> 00:04:10,750 'val' izeneko osoko balioa 101 00:04:10,750 --> 00:04:13,490 eta hurrengo zerrendako hurrengo nodo erakuslea. 102 00:04:13,490 --> 00:04:15,660 Beno, badirudi simple nahikoa. 103 00:04:15,660 --> 00:04:17,220 >> Demagun funtzio bat idatzi nahi dugu 104 00:04:17,220 --> 00:04:19,329 zeharkatzen zerrenda eta grabatuak out 105 00:04:19,329 --> 00:04:22,150 zerrendaren azken nodo balioa gordetzen da. 106 00:04:22,150 --> 00:04:24,850 Beno, horrek esan nahi du zerrendan nodo guztiak zeharkatzeko behar dugu 107 00:04:24,850 --> 00:04:27,310 azkena, baina ari gara, ez baita gehituz 108 00:04:27,310 --> 00:04:29,250 edo ezer ezabatu, ez dugu nahi aldatu 109 00:04:29,250 --> 00:04:32,210 zerrendako hurrengo erakusleak barne egitura. 110 00:04:32,210 --> 00:04:34,790 >> Beraz, erakusle bat behar dugu zehazki traversal 111 00:04:34,790 --> 00:04:36,940 horrek deitu dugu 'arakatzaileak. 112 00:04:36,940 --> 00:04:38,870 Zerrendako elementu guztiak arakatu bidez izango da 113 00:04:38,870 --> 00:04:41,190 erakusleak hurrengo kate jarraituz. 114 00:04:41,190 --> 00:04:43,750 Guztiak gordetzen dugu 1go nodoaren erakuslea da, 115 00:04:43,750 --> 00:04:45,730 edo 'burua' zerrendan. 116 00:04:45,730 --> 00:04:47,370 Head 1go nodo puntu. 117 00:04:47,370 --> 00:04:49,120 Mota erakuslea-to-nodoa da. 118 00:04:49,120 --> 00:04:51,280 >> Benetako nodo zerrenda 1ean, 119 00:04:51,280 --> 00:04:53,250 dute dereference erakuslea honetan 120 00:04:53,250 --> 00:04:55,100 baina dereference aurretik, egiaztatu behar dugu 121 00:04:55,100 --> 00:04:57,180 erakuslea da null bada, lehen aldiz. 122 00:04:57,180 --> 00:04:59,190 Da null bada, zerrenda hutsik dago. 123 00:04:59,190 --> 00:05:01,320 inprimatu eta mezu bat behar dugu, zerrenda hutsik dagoelako, 124 00:05:01,320 --> 00:05:03,250 azken nodoa ez dago. 125 00:05:03,250 --> 00:05:05,190 Baina, demagun zerrenda ez dago hutsik. 126 00:05:05,190 --> 00:05:08,340 Ez bada, eta, ondoren, zerrenda osoa bitartez arakatu behar dugu 127 00:05:08,340 --> 00:05:10,440 zerrendako azken nodo dugu arte, 128 00:05:10,440 --> 00:05:13,030 eta nola ari gara azken nodo zerrendan begiratuz gero esango dugu? 129 00:05:13,670 --> 00:05:16,660 >> Beno, Nodo baten erakuslea da hurrengo null bada, 130 00:05:16,660 --> 00:05:18,320 Oraindik amaieran badakigu 131 00:05:18,320 --> 00:05:22,390 azken erakusleak zerrendako hurrengo nodo seinalatzen ez dute hurrengo geroztik litzateke. 132 00:05:22,390 --> 00:05:26,590 Praktika onak, beti egon da azken nodoaren erakuslea hurrengo hasieratu to null 133 00:05:26,590 --> 00:05:30,800 normalizatua jabetza abisatzen dugu zerrendaren bukaeran iritsi denean. 134 00:05:30,800 --> 00:05:33,510 >> Beraz, crawler → hurrengo null bada, 135 00:05:34,120 --> 00:05:38,270 gogoan izan arrow sintaxia dereferencing lasterbide bat da 136 00:05:38,270 --> 00:05:40,010 egitura erakuslea, eta sartzeko 137 00:05:40,010 --> 00:05:42,510 bere hurrengo eremuan awkward, baliokideak: 138 00:05:42,510 --> 00:05:48,750 (* Crawler). Hurrengo. 139 00:05:49,820 --> 00:05:51,260 Behin aurkitu dugu azken nodoak, 140 00:05:51,260 --> 00:05:53,830 crawler → val inprimatu nahi dugu, 141 00:05:53,830 --> 00:05:55,000 nodo uneko balioa 142 00:05:55,000 --> 00:05:57,130 ezagutzen dugun azkena da. 143 00:05:57,130 --> 00:05:59,740 Bestela, oraindik Oraindik ez badugu zerrendako azken nodo 144 00:05:59,740 --> 00:06:02,340 zerrendako hurrengo nodo mugitzeko dugu 145 00:06:02,340 --> 00:06:04,750 eta egiaztatu azkena. 146 00:06:04,750 --> 00:06:07,010 Horretarako, ezarri besterik ez dugu gure arakatzaileak erakuslea 147 00:06:07,010 --> 00:06:09,840 hurrengo uneko nodoaren balioa seinalatu, 148 00:06:09,840 --> 00:06:11,680 hau da, zerrendako hurrengo nodo. 149 00:06:11,680 --> 00:06:13,030 Hori ezartzeko egindako 150 00:06:13,030 --> 00:06:15,280 crawler = crawler → hurrengo. 151 00:06:16,050 --> 00:06:18,960 Ondoren, prozesu hau errepikatu dugu, esate baterako, begizta bat, 152 00:06:18,960 --> 00:06:20,960 aurkituko dugu azken nodo arte. 153 00:06:20,960 --> 00:06:23,150 Horrela, esate baterako, crawler zen buruan apuntatzen bada, 154 00:06:24,050 --> 00:06:27,710 crawler dugu crawler → hurrengo seinalatu 155 00:06:27,710 --> 00:06:30,960 1. nodo hurrengo eremuan bera da. 156 00:06:30,960 --> 00:06:33,620 Beraz, orain, gure arakatzaileak 2 nodo seinalatuz, 157 00:06:33,620 --> 00:06:35,480 eta, berriro ere, errepikatu dugu begizta 158 00:06:37,220 --> 00:06:40,610 azken nodo aurkitu dugu arte, hau da, 159 00:06:40,610 --> 00:06:43,640 non nodoaren erakuslea da hurrengo null seinalatuz. 160 00:06:43,640 --> 00:06:45,070 Eta hor egon behar dugu, 161 00:06:45,070 --> 00:06:47,620 azken nodo zerrendan aurkitu dugu, eta bere balioa inprimatu 162 00:06:47,620 --> 00:06:50,800 erabili besterik ez dugu crawler → val. 163 00:06:50,800 --> 00:06:53,130 >> Traversing ez da hain txarra, baina zer txertatu buruz? 164 00:06:53,130 --> 00:06:56,290 Lets 4 posizioan zenbaki oso bat sartu esan nahi dugu 165 00:06:56,290 --> 00:06:58,040 osoko zerrendan. 166 00:06:58,040 --> 00:07:01,280 Nodoen artean 3 eta 4 uneko da. 167 00:07:01,280 --> 00:07:03,760 Berriz ere, zerrenda zeharkatuko besterik ez dugu 168 00:07:03,760 --> 00:07:06,520 3 elementu txertatzen ari gara ondoren. 169 00:07:06,520 --> 00:07:09,300 Beraz, arakatzaileak erakuslea bat sortu dugu berriro zerrendan zeharkatzeko, 170 00:07:09,300 --> 00:07:11,400 egiaztatu da gure burua erakuslea null bada, 171 00:07:11,400 --> 00:07:14,810 eta ez bada, gure arakatzaileak burua nodoaren erakuslea. 172 00:07:16,880 --> 00:07:18,060 Beraz, 1go elementu Oraindik dugu. 173 00:07:18,060 --> 00:07:21,020 Aurrera joateko 2 gehiago sartu ahal izango dugu aurretik elementu ditugu, 174 00:07:21,020 --> 00:07:23,390 beraz, erabili ahal izango dugu, begizta 175 00:07:23,390 --> 00:07:26,430 int i = 1; i <3; i + + 176 00:07:26,430 --> 00:07:28,590 eta begizta-iterazio bakoitzerako, 177 00:07:28,590 --> 00:07:31,540 aurrera, gure arakatzaileak erakuslea 1 nodoa aurrera 178 00:07:31,540 --> 00:07:34,570 hurrengo uneko nodoaren eremua null egiaztatzen bada, 179 00:07:34,570 --> 00:07:37,550 eta ez bada, gure arakatzaileak erakuslea mugitu hurrengo nodo 180 00:07:37,550 --> 00:07:41,810 hurrengo uneko nodoaren erakuslea berdintasuna ezarriz. 181 00:07:41,810 --> 00:07:45,210 Beraz, gure loop dio horretarako geroztik 182 00:07:45,210 --> 00:07:47,550 birritan, 183 00:07:49,610 --> 00:07:51,190 3 nodo lortu dugu, 184 00:07:51,190 --> 00:07:53,110 eta behin, gure arakatzaileak erakuslea erdietsi nodoaren ondoren 185 00:07:53,110 --> 00:07:55,270 gure berri osokoa txertatu nahi dugu, 186 00:07:55,270 --> 00:07:57,050 nola egin ez dugu sartzen? 187 00:07:57,050 --> 00:07:59,440 >> Beno, gure berri osokoa zerrendan sartu du 188 00:07:59,440 --> 00:08:01,250 bere, nodo propioa struct-zati gisa, 189 00:08:01,250 --> 00:08:03,140 hau da, benetan geroztik nodoen sekuentzia bat. 190 00:08:03,140 --> 00:08:05,690 Beraz, dezagun erakuslea nodo berria egin 191 00:08:05,690 --> 00:08:08,910 izeneko 'new_node,' 192 00:08:08,910 --> 00:08:11,800 eta ezarri memoria seinalatu dugun esleitu 193 00:08:11,800 --> 00:08:14,270 nodo bera zeure 194 00:08:14,270 --> 00:08:16,000 eta zenbat memoria esleitu behar dugu? 195 00:08:16,000 --> 00:08:18,250 Beno, nodo baten tamaina, 196 00:08:20,450 --> 00:08:23,410 eta bere val eremuan sartu nahi dugun osoko ezarri nahi dugu. 197 00:08:23,410 --> 00:08:25,590 Demagun, 6. 198 00:08:25,590 --> 00:08:27,710 Orain, nodoak gure osoko balioa dauka. 199 00:08:27,710 --> 00:08:30,650 Ona da, halaber, praktika berriak nodo hurrengo eremuan hasieratu 200 00:08:30,650 --> 00:08:33,690 null seinalatu, 201 00:08:33,690 --> 00:08:35,080 baina orain zer? 202 00:08:35,080 --> 00:08:37,179 >> Zerrendan barne egitura aldatu behar dugu 203 00:08:37,179 --> 00:08:40,409 eta hurrengo zerrendan dagoen erakusleak 204 00:08:40,409 --> 00:08:42,950 Nodo 3an eta 4an. 205 00:08:42,950 --> 00:08:46,560 Hurrengo erakusleak zerrendako ordena zehaztu geroztik, 206 00:08:46,560 --> 00:08:48,650 ari gara eta gure berriak nodo geroztik txertatu 207 00:08:48,650 --> 00:08:50,510 zerrendaren erdian sartu, 208 00:08:50,510 --> 00:08:52,010 pixka bat delikatua izan daiteke. 209 00:08:52,010 --> 00:08:54,250 Hau da, izan ere, gogoratu, gure ordenagailuan 210 00:08:54,250 --> 00:08:56,250 nodo kokalekua daki zerrendan 211 00:08:56,250 --> 00:09:00,400 erakusleak hurrengo nodo aurreko gordetako delako. 212 00:09:00,400 --> 00:09:03,940 Beraz, inoiz ez dugu edozein kokaleku horietan pista galdu ezkero, 213 00:09:03,940 --> 00:09:06,860 gure zerrendan hurrengo erakusle bat aldatuz esan, 214 00:09:06,860 --> 00:09:09,880 Adibidez, esaten dugu aldatu 215 00:09:09,880 --> 00:09:12,920 hurrengo 3 nodo eremuan 216 00:09:12,920 --> 00:09:15,610 nodo batzuk hemen seinalatu. 217 00:09:15,610 --> 00:09:17,920 Zorte genuke, ez genuke delako 218 00:09:17,920 --> 00:09:20,940 edozein ideia non aurkitu zerrendako gainerako 219 00:09:20,940 --> 00:09:23,070 eta hori, jakina, oso txarra da. 220 00:09:23,070 --> 00:09:25,080 Beraz, benetan ordena buruz kontuz ibili behar dugu 221 00:09:25,080 --> 00:09:28,360 gure hurrengo erakusleak manipulatzeko txertatzeko zehar. 222 00:09:28,360 --> 00:09:30,540 >> Beraz, hori errazteko, demagun 223 00:09:30,540 --> 00:09:32,220 gure lehen 4 nodo 224 00:09:32,220 --> 00:09:36,200 deitzen dira A, B, C, eta D, erakusleak kate geziak 225 00:09:36,200 --> 00:09:38,070 nodo lotzen. 226 00:09:38,070 --> 00:09:40,050 Beraz, gure nodo berria sartu behar dugu 227 00:09:40,050 --> 00:09:42,070 C eta D. nodoen arteko 228 00:09:42,070 --> 00:09:45,060 Kritikoa ordena egokian egin behar da, eta erakutsi dut zergatik. 229 00:09:45,060 --> 00:09:47,500 >> Dezagun modu oker egin lehen begiratu. 230 00:09:47,500 --> 00:09:49,490 Hey, nodo berri du eskubidea etorri C ondoren badakigu, 231 00:09:49,490 --> 00:09:51,910 beraz, dezagun ezarri C hurrengo erakuslea 232 00:09:51,910 --> 00:09:54,700 to new_node seinalatu. 233 00:09:56,530 --> 00:09:59,180 Eskubidea guztiak, badirudi ados, besterik ez dugu amaitzeko orain 234 00:09:59,180 --> 00:10:01,580 D berria nodoaren erakuslea hurrengo puntua egiteko, 235 00:10:01,580 --> 00:10:03,250 baina itxaronaldia, nola egin dezaket dugu hori? 236 00:10:03,250 --> 00:10:05,170 Gauza bakarra ezin izan digute non D izan zen, 237 00:10:05,170 --> 00:10:07,630 izan zen hurrengo erakuslea aurretik C gordetzen dira, 238 00:10:07,630 --> 00:10:09,870 baina besterik ez dugu erakuslea hori rewrote 239 00:10:09,870 --> 00:10:11,170 nodo berria seinalatu, 240 00:10:11,170 --> 00:10:14,230 beraz, ez dute jada arrastoren edozein non D memoria da, 241 00:10:14,230 --> 00:10:17,020 eta zerrendako gainerako galdu dugu. 242 00:10:17,020 --> 00:10:19,000 Batere ona. 243 00:10:19,000 --> 00:10:21,090 >> Beraz, nola ez eskubide hori egiten dugu? 244 00:10:22,360 --> 00:10:25,090 Lehenik eta behin, berri nodo D. erakuslea hurrengo 245 00:10:26,170 --> 00:10:28,990 Orain, bai nodo eta C hurrengo erakusleak 246 00:10:28,990 --> 00:10:30,660 nodoa berean, D seinalatuz, 247 00:10:30,660 --> 00:10:32,290 baina fina. 248 00:10:32,290 --> 00:10:35,680 Orain C erakuslea nodo berria hurrengo seinalatu ahal izango dugu. 249 00:10:37,450 --> 00:10:39,670 Beraz, hau egin dugu daturik galdu gabe. 250 00:10:39,670 --> 00:10:42,280 Kodea, C uneko nodoaren 251 00:10:42,280 --> 00:10:45,540 traversal erakuslea crawler hori seinalatuz, 252 00:10:45,540 --> 00:10:50,400 eta D Nabarmendu uneko nodoaren eremuan hurrengo nodo irudikatzen 253 00:10:50,400 --> 00:10:52,600 edo crawler → hurrengo. 254 00:10:52,600 --> 00:10:55,460 Beraz, lehen aldiz ezarri dugu berria nodo hurrengo erakuslea 255 00:10:55,460 --> 00:10:57,370 crawler → hurrengo seinalatu, 256 00:10:57,370 --> 00:11:00,880 Era berean new_node hurrengo erakuslea esan genuen 257 00:11:00,880 --> 00:11:02,780 D seinalatu agertzen. 258 00:11:02,780 --> 00:11:04,540 Ondoren, hurrengo uneko nodoaren erakuslea ezarri ahal izango dugu 259 00:11:04,540 --> 00:11:06,330 gure berri nodo 260 00:11:06,330 --> 00:11:10,980 C seinalatu marrazkia new_node bezala itxaron egin behar izan dugu. 261 00:11:10,980 --> 00:11:12,250 Orain guztia ordena da, eta ez dugu galtzen 262 00:11:12,250 --> 00:11:14,490 datuen jarraipena, eta ahal izateko besterik ez ginen 263 00:11:14,490 --> 00:11:16,200 makila gure berri nodo zerrendaren erdian 264 00:11:16,200 --> 00:11:19,330 gauza osoa berreraikitzen edo, are gehiago, elementu edozein aldatzearen gabe 265 00:11:19,330 --> 00:11:22,490 bidea izan nahi dugu izan finkoko-luzera array bat. 266 00:11:22,490 --> 00:11:26,020 >> Beraz, zerrendak lotutako oinarrizko, baina garrantzitsua, datu dinamikorik egitura 267 00:11:26,020 --> 00:11:29,080 dituzten abantailak eta desabantailak 268 00:11:29,080 --> 00:11:31,260 array-ak eta beste datu egiturak aldean, 269 00:11:31,260 --> 00:11:33,350 eta informatika kasuan izan ohi da, 270 00:11:33,350 --> 00:11:35,640 garrantzitsua da jakin nahi denean erabili ahal izateko tresna bakoitzaren, 271 00:11:35,640 --> 00:11:37,960 beraz, eskuineko lan tresna egokia hautatu ahal izango duzu. 272 00:11:37,960 --> 00:11:40,060 >> Praktika gehiago nahi izanez gero, saiatu funtzioak idatziz 273 00:11:40,060 --> 00:11:42,080 lotuta zerrenda nodoak ezabatu 274 00:11:42,080 --> 00:11:44,050 gogoratzen duzu zein ordenatan berrantolatzeko buruz kontuz 275 00:11:44,050 --> 00:11:47,430 zure erakusleak hurrengo zatia zure zerrenda bat galtzen ez duzula ziurtatzeko 276 00:11:47,430 --> 00:11:50,200 edo funtzio bat nodo zenbatzea lotuta zerrenda, 277 00:11:50,200 --> 00:11:53,280 edo fun bat, lotuta zerrenda batean nodo guztien ordena alderantzikatzeko. 278 00:11:53,280 --> 00:11:56,090 >> Nire izena Jackson Steinkamp da, hau CS50 da.