1 00:00:00,000 --> 00:00:04,074 2 00:00:04,074 --> 00:00:05,990 Doug LLOYD: Id-dritt, hekk b'dan il-punt int 3 00:00:05,990 --> 00:00:09,020 probabbilment pretty familjari ma arrays u listi marbuta 4 00:00:09,020 --> 00:00:10,950 li hija l-kodiċi primarju strutturi tad-dejta Imxejna 5 00:00:10,950 --> 00:00:16,810 tkellem dwar għaż-żamma settijiet ta ' data tat-tipi ta 'data simili organizzati. 6 00:00:16,810 --> 00:00:19,080 >> Issa aħna qed tmur biex jitkellmu dwar koppja ta 'varjazzjonijiet 7 00:00:19,080 --> 00:00:20,330 fuq arrays u listi marbuta. 8 00:00:20,330 --> 00:00:22,362 F'dan il-video aħna qed tmur biex jitkellmu dwar stacks. 9 00:00:22,362 --> 00:00:25,320 Speċifikament aħna qed tmur biex jitkellmu dwar struttura data tissejjaħ munzell. 10 00:00:25,320 --> 00:00:28,510 Recall minn diskussjonijiet preċedenti dwar pointers u l-memorja, 11 00:00:28,510 --> 00:00:32,060 li l-munzell huwa wkoll il- isem għal segment ta 'memorja 12 00:00:32,060 --> 00:00:34,980 fejn statikament iddikjarat memorja memory-- li inti 13 00:00:34,980 --> 00:00:38,730 isem, varjabbli li inti isem, et cetera u funzjoni frames li aħna wkoll 14 00:00:38,730 --> 00:00:41,000 jeżistu frames munzell sejħa. 15 00:00:41,000 --> 00:00:45,421 Allura din hija struttura ta 'data munzell mhux segment munzell ta 'memorja. 16 00:00:45,421 --> 00:00:45,920 KOLLOX SEW. 17 00:00:45,920 --> 00:00:46,890 >> Imma dak li hu munzell? 18 00:00:46,890 --> 00:00:49,220 Allura huwa pretty ħafna biss tip speċjali ta 'struttura 19 00:00:49,220 --> 00:00:51,190 li żżomm data b'mod organizzat. 20 00:00:51,190 --> 00:00:53,760 U hemm żewġ ħafna modi komuni biex jiġu implimentati 21 00:00:53,760 --> 00:00:57,380 stacks użu ta 'żewġ strutturi ta' dejta li aħna qed diġà familjari ma ', 22 00:00:57,380 --> 00:01:00,340 arrays u listi marbuta. 23 00:01:00,340 --> 00:01:04,430 Dak li jagħmel speċjali munzell huwa l- mod li bih nirregolaw jpoġġu informazzjoni 24 00:01:04,430 --> 00:01:08,200 fil-munzell, u l-mod aħna tneħħi l-informazzjoni mill-munzell. 25 00:01:08,200 --> 00:01:11,600 B'mod partikolari ma 'munzelli ir-regola hija biss l-aktar 26 00:01:11,600 --> 00:01:15,830 reċentement element miżjud jista 'jitneħħa. 27 00:01:15,830 --> 00:01:17,660 >> Allura taħseb dwarha bħala jekk huwa munzell. 28 00:01:17,660 --> 00:01:21,170 Aħna piling informazzjoni fuq quċċata fih innifsu, 29 00:01:21,170 --> 00:01:24,271 u biss il-ħaġa fil-quċċata tal-pile jista 'jitneħħa. 30 00:01:24,271 --> 00:01:27,020 Aħna ma tistax tneħħi l-ħaġa minn taħt għaliex kollox se 31 00:01:27,020 --> 00:01:28,020 kollass u jaqgħu fuq. 32 00:01:28,020 --> 00:01:32,580 Allura aħna verament qed jibnu munzell li aħna mbagħad ikollhom biex jitneħħew mill-biċċa biċċa. 33 00:01:32,580 --> 00:01:36,590 Minħabba dan aħna komunement jirreferu li munzell bħala struttura LIFO, 34 00:01:36,590 --> 00:01:38,940 aħħar li l-ewwel out. 35 00:01:38,940 --> 00:01:42,290 LIFO,-aħħar fl-ewwel li joħroġ. 36 00:01:42,290 --> 00:01:45,635 >> Allura minħabba din ir-restrizzjoni fuq kif l-informazzjoni jistgħu jiġu miżjuda mal 37 00:01:45,635 --> 00:01:49,080 u mneħħija minn munzell, hemm verament biss żewġ affarijiet li nistgħu nagħmlu ma 'munzell. 38 00:01:49,080 --> 00:01:52,010 Nistgħu push, li hija l- tul nużaw biex jiżdiedu 39 00:01:52,010 --> 00:01:55,130 element ġdid għall-quċċata tal- munzell, jew jekk il-munzell ma teżistix 40 00:01:55,130 --> 00:01:58,550 u aħna qed jinħolqu mill-bidu, ħolqien tal-munzell fl-ewwel post 41 00:01:58,550 --> 00:02:00,110 tkun imbuttar. 42 00:02:00,110 --> 00:02:04,990 U mbagħad pop, dak l-tip ta 'CS tul nużaw biex tneħħi l-aktar reċentement 43 00:02:04,990 --> 00:02:08,330 element miżjud mill-quċċata tal-munzell. 44 00:02:08,330 --> 00:02:11,130 >> Allura aħna qed tmur biex tħares lejn kemm implimentazzjonijiet, kemm firxa ibbażati 45 00:02:11,130 --> 00:02:13,120 u l-lista marbuta bbażati. 46 00:02:13,120 --> 00:02:14,870 U aħna qed tmur biex tibda bil array bbażati. 47 00:02:14,870 --> 00:02:19,990 Allura hawnhekk-idea bażika ta 'dak l-istruttura data Grupp ta 'arranġamenti bbażati 48 00:02:19,990 --> 00:02:21,140 look like. 49 00:02:21,140 --> 00:02:23,740 Għandna definizzjoni ttajpjata hawn. 50 00:02:23,740 --> 00:02:27,790 Ġewwa ta 'li għandna żewġ membri jew oqsma ta 'l-istruttura. 51 00:02:27,790 --> 00:02:29,880 Għandna firxa. 52 00:02:29,880 --> 00:02:32,400 U għal darb'oħra jien jużaw l valur tip ta 'data arbitrarja. 53 00:02:32,400 --> 00:02:35,180 >> Allura dan jista 'jkun kwalunkwe tip ta' data, char int jew xi data oħra 54 00:02:35,180 --> 00:02:37,080 tip inti maħluqa qabel. 55 00:02:37,080 --> 00:02:39,861 Allura aħna għandna firxa ta 'kapaċità daqs. 56 00:02:39,861 --> 00:02:44,010 Kapaċità qed lira definit kostanti, forsi x'imkien ieħor fil-fajl tagħna. 57 00:02:44,010 --> 00:02:47,550 Allura avviż diġà ma 'dan partikolari implimentazzjoni aħna jgħaqqad 58 00:02:47,550 --> 00:02:49,800 ruħna bħala kien tipikament il-każ ma arrays, 59 00:02:49,800 --> 00:02:53,170 li ma nistgħux dinamiku resize, fejn hemm ċertu numru ta 60 00:02:53,170 --> 00:02:55,450 ta 'elementi massimu li nistgħu npoġġu fil-munzell tagħna. 61 00:02:55,450 --> 00:02:57,930 F'dan il-każ huwa elementi kapaċità. 62 00:02:57,930 --> 00:03:00,310 >> Aħna wkoll iżżomm kont ta ' il-quċċata tal-munzell. 63 00:03:00,310 --> 00:03:04,350 X'inhu element huwa l-aktar miżjuda riċentament għall-munzell? 64 00:03:04,350 --> 00:03:07,470 U hekk aħna jżommu rekord ta 'dak fil-varjabbli imsejħa top. 65 00:03:07,470 --> 00:03:11,692 U dan kollu gets jitgeżwer flimkien f'tip data ġdida msejħa munzell. 66 00:03:11,692 --> 00:03:13,400 U ladarba aħna qed maħluq dan it-tip ta 'dejta ġdid 67 00:03:13,400 --> 00:03:15,410 nistgħu jittrattawha bħal kull tip ta 'data oħra. 68 00:03:15,410 --> 00:03:20,970 Aħna tista 'tiddikjara munzell s, bħad stajna nagħmlu int x, y jew char. 69 00:03:20,970 --> 00:03:22,990 U meta ngħidu munzell s, sew dak li jiġri 70 00:03:22,990 --> 00:03:26,420 huwa irridu jiksbu sett ta ' memorja imwarrba għalina. 71 00:03:26,420 --> 00:03:28,770 >> F'dan il-kapaċità każ Stajt apparentement iddeċidiet 72 00:03:28,770 --> 00:03:33,470 huwa 10 għaliex stajt ltqajna varjabbli waħda tat-tip munzell 73 00:03:33,470 --> 00:03:35,320 li jinkludi żewġ oqsma recall. 74 00:03:35,320 --> 00:03:38,330 Firxa, f'dan il-każ huwa għaddej li tkun firxa ta 'numri interi 75 00:03:38,330 --> 00:03:40,440 kif inhu l-każ fil-maġġoranza ta 'eżempji tiegħi. 76 00:03:40,440 --> 00:03:43,996 U varjabbli ieħor integer kapaċi jaħżen il-quċċata, 77 00:03:43,996 --> 00:03:45,870 l miżjud aktar reċentement element għall-munzell. 78 00:03:45,870 --> 00:03:50,290 Allura wieħed munzell wieħed ta 'dak li aħna jistenna bħal dan biss definiti. 79 00:03:50,290 --> 00:03:53,190 Huwa kaxxa li fiha firxa ta '10' dak 80 00:03:53,190 --> 00:03:57,280 se jkunu interi f'dan il-każ u varjabbli ieħor numru sħiħ hemmhekk fl-aħdar 81 00:03:57,280 --> 00:04:00,010 li jindika l-quċċata tal-munzell. 82 00:04:00,010 --> 00:04:02,600 >> Li tiffissa l-quċċata tal- munzell aħna biss jgħidu s.top. 83 00:04:02,600 --> 00:04:04,890 Thats kif aħna jkollhom aċċess għal qasam ta 'recall struttura. 84 00:04:04,890 --> 00:04:10,460 s.top ugwali 0 effettiv ma dan li munzell tagħna. 85 00:04:10,460 --> 00:04:12,960 Għalhekk għal darb'oħra għandna żewġ operazzjonijiet li nistgħu jwettaq issa. 86 00:04:12,960 --> 00:04:14,270 Nistgħu push u nistgħu pop. 87 00:04:14,270 --> 00:04:15,635 Nibdew bl push. 88 00:04:15,635 --> 00:04:18,260 Għal darb'oħra, imbuttar qed iżżid ġdid element l-quċċata tal-munzell. 89 00:04:18,260 --> 00:04:21,460 >> Allura dak li għandna bżonn tagħmel dan array implimentazzjoni bbażata? 90 00:04:21,460 --> 00:04:23,210 Ukoll b'mod ġenerali l- funzjoni push qed jiġri 91 00:04:23,210 --> 00:04:26,160 ħtieġa li taċċetta pointer li l-munzell. 92 00:04:26,160 --> 00:04:28,610 Issa tieħu t-tieni u taħseb dwarha. 93 00:04:28,610 --> 00:04:32,840 Għaliex kieku irridu li jaċċettaw a pointer għall-munzell? 94 00:04:32,840 --> 00:04:36,830 Recall minn videos preċedenti dwar ambitu u pointers varjabbli, 95 00:04:36,830 --> 00:04:42,350 x'jista 'jiġri jekk aħna biss mibgħuta munzell, i pjuttost fil bħala parametru? 96 00:04:42,350 --> 00:04:45,770 What fil-fatt ikun mgħoddi fil hemmhekk? 97 00:04:45,770 --> 00:04:49,430 Ftakar aħna qed joħolqu kopja meta aħna tgħaddiha għal funzjoni 98 00:04:49,430 --> 00:04:51,160 sakemm nużaw pointers. 99 00:04:51,160 --> 00:04:55,380 U hekk din il-funzjoni timbotta bżonnijiet li jaċċetta pointer għall-munzell 100 00:04:55,380 --> 00:04:59,160 sabiex inkunu qed attwalment qed jinbidlu il-munzell għandna l-intenzjoni li jibdlu. 101 00:04:59,160 --> 00:05:03,060 >> Il-buttuna ħaġa oħra probabbilment trid jaċċettaw huwa element data ta 'valur tip. 102 00:05:03,060 --> 00:05:06,970 F'dan il-każ, għal darb'oħra, integer li aħna qed tmur biex iżżid l-quċċata tal-munzell. 103 00:05:06,970 --> 00:05:08,680 Allura konna ltqajna żewġ parametri tagħna. 104 00:05:08,680 --> 00:05:11,310 Liema huma aħna se issa do ġewwa tal push? 105 00:05:11,310 --> 00:05:14,860 Well, sempliċiment, aħna qed biss ser iżżid li element l-quċċata tal-munzell 106 00:05:14,860 --> 00:05:22,860 u mbagħad bidla fejn il-quċċata ta ' l-munzell hu, li s dot valur nett. 107 00:05:22,860 --> 00:05:25,639 Allura dan huwa dak funzjoni dikjarazzjoni għal push 108 00:05:25,639 --> 00:05:27,680 jista 'dehra fi implimentazzjoni bbażata fuq firxa. 109 00:05:27,680 --> 00:05:30,967 >> Għal darb'oħra din mhix regola iebsa u veloċi li inti tista 'tbiddel dan u jkollu 110 00:05:30,967 --> 00:05:32,050 it jvarjaw b'modi differenti. 111 00:05:32,050 --> 00:05:33,840 Forsi s huwa ddikjarat globalment. 112 00:05:33,840 --> 00:05:36,180 U għalhekk inti lanqas biss bżonn li jgħaddu huwa bħala parametru. 113 00:05:36,180 --> 00:05:39,125 Dan huwa wkoll biss każ ġenerali għall push. 114 00:05:39,125 --> 00:05:41,000 U hemm differenti modi biex jimplimentawha. 115 00:05:41,000 --> 00:05:42,810 Iżda f'dan il-każ tagħna push se jieħu 116 00:05:42,810 --> 00:05:48,540 żewġ argumenti, a pointer għal munzell u element tad-data ta 'valur tip, numru sħiħ 117 00:05:48,540 --> 00:05:49,840 f'dan il-każ. 118 00:05:49,840 --> 00:05:52,100 >> Allura aħna ddikjarat s, aħna qal s.top ugwali 0. 119 00:05:52,100 --> 00:05:55,969 Issa ejja timbotta l- numru 28 fuq il-munzell. 120 00:05:55,969 --> 00:05:57,010 Ukoll xi jfisser? 121 00:05:57,010 --> 00:05:59,600 Ukoll bħalissa l- quċċata tal-munzell huwa ta '0. 122 00:05:59,600 --> 00:06:01,350 U hekk x'hemm bażikament jiġri huwa 123 00:06:01,350 --> 00:06:05,820 aħna qed tmur biex twaħħal l-għadd 28 fis lokazzjoni firxa 0. 124 00:06:05,820 --> 00:06:09,540 Pretty sempliċi, id-dritt, li kien il-quċċata u issa aħna qed imorru tajjeb. 125 00:06:09,540 --> 00:06:12,910 U allura għandna bżonn għall-bidla dak il-quċċata tal-munzell se jkun. 126 00:06:12,910 --> 00:06:15,130 Sabiex il-ħin li jmiss aħna timbotta element, 127 00:06:15,130 --> 00:06:18,017 aħna qed tmur biex jaħżnuh fil lokazzjoni firxa, probabbilment mhux 0. 128 00:06:18,017 --> 00:06:20,100 Aħna ma rridux li jissostitwixxu dak li aħna biss jitqiegħed hemmhekk. 129 00:06:20,100 --> 00:06:23,510 U hekk aħna ser biss jimxu fuq għal 1. 130 00:06:23,510 --> 00:06:24,890 Li probabbilment jagħmel sens. 131 00:06:24,890 --> 00:06:28,940 >> Issa jekk irridu li tqiegħed element ieħor fuq il-munzell, ngħidu aħna rridu li timbotta 33, 132 00:06:28,940 --> 00:06:33,190 ukoll issa aħna qed biss ser jieħdu 33 u poġġih fil-numru post firxa 133 00:06:33,190 --> 00:06:37,580 1, u mbagħad tibdel il-quċċata ta 'tagħna munzell li jkun array numru lokazzjoni tnejn. 134 00:06:37,580 --> 00:06:40,650 Allura jekk il-ħin li jmiss irridu li timbotta element fuq il-munzell, 135 00:06:40,650 --> 00:06:43,087 dan ser titpoġġa f'post firxa 2. 136 00:06:43,087 --> 00:06:44,420 U ejja tagħmel dan wieħed aktar ħin. 137 00:06:44,420 --> 00:06:45,753 Aħna ser push 19 off ta 'l-stacks. 138 00:06:45,753 --> 00:06:48,940 Aħna ser jitqiegħdu 19 post array 2 u jibdlu l-quċċata tal-munzell tagħna 139 00:06:48,940 --> 00:06:51,220 li jkun post array 3 hekk jekk l-ħin aħna li jmiss 140 00:06:51,220 --> 00:06:54,780 għandek bżonn tagħmel spinta we qed imorru tajjeb. 141 00:06:54,780 --> 00:06:56,980 >> OK, hekk li l-imbuttar fil-qosor. 142 00:06:56,980 --> 00:06:57,830 Xi ngħidu dwar popping? 143 00:06:57,830 --> 00:07:00,240 Allura popping huwa t-tip ta ' kontroparti għall imbuttar. 144 00:07:00,240 --> 00:07:02,720 Huwa mod kif aħna tneħħi data mill-munzell. 145 00:07:02,720 --> 00:07:04,610 U fil-bżonnijiet pop ġenerali biex jagħmlu dan li ġej. 146 00:07:04,610 --> 00:07:07,600 Jeħtieġ li jaċċetta pointer għall- munzell, għal darb'oħra fil-każ ġenerali. 147 00:07:07,600 --> 00:07:10,480 F'xi każ ieħor inti tista ' jkunu ddikjaraw il-munzell globalment, 148 00:07:10,480 --> 00:07:13,910 f'liema każ inti m'għandekx bżonn li tgħaddiha fil minħabba li diġà għandhom aċċess għaliha 149 00:07:13,910 --> 00:07:15,541 bħala varjabbli globali. 150 00:07:15,541 --> 00:07:17,040 Imma mbagħad x'iktar do we bżonn tagħmel? 151 00:07:17,040 --> 00:07:21,000 Well konna inkrementazzjoni il-quċċata tal-munzell fil timbotta, 152 00:07:21,000 --> 00:07:24,050 hekk aħna qed probabbilment tmur jridu li decrement-quċċata tal-munzell 153 00:07:24,050 --> 00:07:25,009 fil pop, id-dritt? 154 00:07:25,009 --> 00:07:26,800 U allura ovvjament aħna wkoll qed tmur jridu 155 00:07:26,800 --> 00:07:29,240 biex jirritorna l-valur li aħna jitneħħew. 156 00:07:29,240 --> 00:07:32,125 Jekk aħna qed żżid elementi, irridu biex tikseb elementi out aktar tard, 157 00:07:32,125 --> 00:07:34,000 aħna probabbilment fil-fatt tixtieq li taħżen lilhom hekk aħna 158 00:07:34,000 --> 00:07:36,490 ma biss jħassruhom mid- munzell u mbagħad ma jsir xejn magħhom. 159 00:07:36,490 --> 00:07:38,500 Ġeneralment jekk aħna qed imbuttar u popping hawn 160 00:07:38,500 --> 00:07:41,250 aħna tixtieq li taħżen din informazzjoni b'mod li jagħmel sens 161 00:07:41,250 --> 00:07:43,250 u għalhekk ma jagħmilx sens li biss armiha. 162 00:07:43,250 --> 00:07:46,380 Allura din il-funzjoni għandhom probabbilment ritorn valur għalina. 163 00:07:46,380 --> 00:07:51,040 >> Allura dan huwa dak dikjarazzjoni għal pop jista 'dehra hemm fil-quċċata xellug. 164 00:07:51,040 --> 00:07:53,870 Din il-funzjoni prospetti data ta 'valur tip. 165 00:07:53,870 --> 00:07:56,320 Għal darb'oħra aħna kont qed tuża interi kollu. 166 00:07:56,320 --> 00:08:01,916 U taċċetta pointer għal munzell bħala argument ewlieni tagħha jew parametru uniku. 167 00:08:01,916 --> 00:08:03,040 Allura x'inhu pop se jagħmlu? 168 00:08:03,040 --> 00:08:07,990 Ejja ngħidu li rridu issa pop element off ta s. 169 00:08:07,990 --> 00:08:14,000 Mela ftakar I qal li stacks huma l-aħħar -ewwel li joħroġ, LIFO strutturi ta 'dejta. 170 00:08:14,000 --> 00:08:17,855 Li element se jitneħħa mill-munzell? 171 00:08:17,855 --> 00:08:21,780 172 00:08:21,780 --> 00:08:24,150 Ridt raden 19? 173 00:08:24,150 --> 00:08:25,290 Għaliex inti d tkun dritt. 174 00:08:25,290 --> 00:08:28,836 19 kienet l-aħħar element aħna miżjud mal- munzell meta konna imbuttar elementi, 175 00:08:28,836 --> 00:08:31,210 u għalhekk li għaddej biex l-ewwel element li gets jitneħħew. 176 00:08:31,210 --> 00:08:34,780 Huwa bħallikieku għidna 28, u allura aħna jitqiegħdu 33 fuq quċċata ta 'dan, 177 00:08:34,780 --> 00:08:36,659 u nitfgħu 19 li fuq kollox. 178 00:08:36,659 --> 00:08:40,650 L-uniku element li nistgħu nieħdu off huwa 19. 179 00:08:40,650 --> 00:08:45,019 >> Issa fid-dijagramma hawn dak I ghamilt huwa tip ta 'mħassar 19 mill-firxa. 180 00:08:45,019 --> 00:08:46,810 Li mhux attwalment dak li aħna qed tmur biex tagħmel. 181 00:08:46,810 --> 00:08:48,934 Aħna biss ser tip ta nippretendu ma jkunx hemm. 182 00:08:48,934 --> 00:08:51,441 Huwa għadu hemm fil f'dak il-post memorja, 183 00:08:51,441 --> 00:08:54,190 imma aħna qed biss se jinjoraha billi jinbidel il-quċċata tal-munzell tagħna 184 00:08:54,190 --> 00:08:56,080 milli 3-2. 185 00:08:56,080 --> 00:08:58,720 Hekk jekk konna biex issa timbotta element ieħor fuq il-munzell, 186 00:08:58,720 --> 00:09:00,720 ikun aktar minn jiktbu 19. 187 00:09:00,720 --> 00:09:03,990 >> Imma ejja ma jgħaddu mill-inkwiet tad tħassir 19 mill-munzell. 188 00:09:03,990 --> 00:09:05,830 Nistgħu biss nippretendu ma jkunx hemm. 189 00:09:05,830 --> 00:09:11,107 Għall-finijiet ta 'l-munzell huwa marret jekk aħna jibdlu l-aqwa li jkun 2 minflok 3. 190 00:09:11,107 --> 00:09:12,690 Kull dritt, hekk li kien pretty ħafna dan. 191 00:09:12,690 --> 00:09:15,080 Li kollox għandna bżonn tagħmel pop element off. 192 00:09:15,080 --> 00:09:16,090 Ejja nagħmlu dan mill-ġdid. 193 00:09:16,090 --> 00:09:18,610 Hekk stajt enfasizzat li bl-aħmar hawn biex jindikaw li qed nagħmlu sejħa oħra. 194 00:09:18,610 --> 00:09:19,720 Aħna qed tmur biex jagħmlu l-istess ħaġa. 195 00:09:19,720 --> 00:09:20,803 >> Allura x'inhu jiġri? 196 00:09:20,803 --> 00:09:23,670 Well, aħna qed tmur biex jaħżnu 33 x u aħna qed tmur 197 00:09:23,670 --> 00:09:26,217 li jibdlu l-quċċata tal-munzell għal 1. 198 00:09:26,217 --> 00:09:29,050 B'tali mod li jekk konna issa biex timbotta l element fil-munzell li aħna qed 199 00:09:29,050 --> 00:09:31,610 se tagħmel id-dritt issa, x'inhu jiġri 200 00:09:31,610 --> 00:09:36,367 huwa aħna qed tmur jissostitwixxu firxa numru lokazzjoni 1. 201 00:09:36,367 --> 00:09:38,950 Allura li 33 li kien tip ta 'xellug wara li aħna biss preti 202 00:09:38,950 --> 00:09:44,390 ma jkunx hemm aktar, aħna qed biss jmorru li clobber u poġġih 40 hemmhekk minflok. 203 00:09:44,390 --> 00:09:46,290 U mbagħad naturalment, peress għamilna timbotta, 204 00:09:46,290 --> 00:09:48,780 aħna qed tmur biex inkrement l quċċata tal-munzell 1-2 205 00:09:48,780 --> 00:09:50,950 b'tali mod li jekk aħna issa żid element ieħor inneħħu 206 00:09:50,950 --> 00:09:54,700 jmorru fil-firxa numru lokazzjoni tnejn. 207 00:09:54,700 --> 00:09:57,590 >> Issa listi marbuta huma ieħor mod biex jimplimentaw stacks. 208 00:09:57,590 --> 00:10:01,210 U jekk din id-definizzjoni fuq il- screen hawn jistenna familjari għalik, 209 00:10:01,210 --> 00:10:04,260 huwa għaliex jidher kważi eżattament l-istess, fil-fatt, 210 00:10:04,260 --> 00:10:07,790 li huwa pjuttost ħafna huwa eżattament l- istess lista marbuta waħdu, 211 00:10:07,790 --> 00:10:11,990 jekk inti recall minn diskussjoni tagħna ta ' listi marbuta weħidhom fil-video ieħor. 212 00:10:11,990 --> 00:10:15,510 Ir-restrizzjoni biss hawn hija għalina bħala programmaturi, 213 00:10:15,510 --> 00:10:17,900 aħna mhux qed jitħallew daħħal jew tħassar saltwarjament 214 00:10:17,900 --> 00:10:20,620 mil-lista marbuta weħidhom li nistgħu nagħmlu qabel. 215 00:10:20,620 --> 00:10:25,820 Aħna biss issa tista 'tiddaħħal u ħassar minn quddiem jew ta 'fuq tal-marbutin 216 00:10:25,820 --> 00:10:26,320 lista. 217 00:10:26,320 --> 00:10:28,028 Dik hija verament l-uniku differenza għalkemm. 218 00:10:28,028 --> 00:10:29,700 Dan huwa b'mod ieħor lista marbuta weħidhom. 219 00:10:29,700 --> 00:10:32,060 Huwa biss ir-restrizzjoni li tissostitwixxi fuq nfusna 220 00:10:32,060 --> 00:10:35,770 kif programmaturi li bidliet fis munzell. 221 00:10:35,770 --> 00:10:39,280 >> Ir-regola hawnhekk huwa li dejjem iżommu pointer lill-kap ta 'lista marbuta. 222 00:10:39,280 --> 00:10:41,520 Dan huwa naturalment ġeneralment regola importanti l-ewwel. 223 00:10:41,520 --> 00:10:44,260 Għal weħidhom lista marbuta xorta inti jeħtieġu biss pointer lill-kap 224 00:10:44,260 --> 00:10:46,160 sabiex ikollhom dik katina ikunu jistgħu jirreferu 225 00:10:46,160 --> 00:10:48,596 għal kull element ieħor fil-lista marbuta. 226 00:10:48,596 --> 00:10:50,470 Imma hija partikolarment importanti ma 'munzell. 227 00:10:50,470 --> 00:10:52,386 U hekk ġeneralment int tmur fil-fatt tixtieq 228 00:10:52,386 --> 00:10:54,090 dan il-werrej li jkun fattur varjabbli globali. 229 00:10:54,090 --> 00:10:56,574 Huwa probabbilment se jkun saħansitra aktar faċli li mod. 230 00:10:56,574 --> 00:10:58,240 Allura x'inhuma l-analogi ta 'push u pop? 231 00:10:58,240 --> 00:10:58,740 Dritt. 232 00:10:58,740 --> 00:11:01,812 Għalhekk għal darb'oħra imbuttar qed iżżid element ġdid għall-munzell. 233 00:11:01,812 --> 00:11:03,770 F'lista marbut li ifisser li aħna qed tmur biex ikollhom 234 00:11:03,770 --> 00:11:07,770 biex jinħoloq node ġdid li aħna qed ser iżżid fil-lista marbuta, 235 00:11:07,770 --> 00:11:10,500 u mbagħad segwi l-passi bir-reqqa li konna imsemmija qabel 236 00:11:10,500 --> 00:11:16,050 fil-listi marbuta weħidhom li jżidu mal il-katina mingħajr ma jitkissru l-katina 237 00:11:16,050 --> 00:11:18,900 u jitilfu jew orphaning kwalunkwe elementi tal-lista marbuta. 238 00:11:18,900 --> 00:11:21,820 U dan huwa bażikament dak li ftit blob tat-test hemm fil-qosor. 239 00:11:21,820 --> 00:11:23,740 U ejja tagħti ħarsa lejn din bħala dijagramma. 240 00:11:23,740 --> 00:11:24,823 >> Allura hawnhekk lista marbuta tagħna. 241 00:11:24,823 --> 00:11:26,620 Hija fl-istess ħin fiha erba 'elementi. 242 00:11:26,620 --> 00:11:30,420 U aktar perfettament hawnhekk tagħna munzell li jkun fih erba 'elementi. 243 00:11:30,420 --> 00:11:36,030 U ejja ngħidu aħna issa jridu timbotta punt ġdid fuq dan munzell. 244 00:11:36,030 --> 00:11:39,792 U rridu li timbotta ġdida oġġett li l-valur tad-data huwa 12. 245 00:11:39,792 --> 00:11:41,000 Well dak li aħna se jagħmlu? 246 00:11:41,000 --> 00:11:43,420 Ukoll l-ewwel aħna qed tmur biex ispazju malloc, dinamiku 247 00:11:43,420 --> 00:11:45,411 jalloka territorju għal node ġdid. 248 00:11:45,411 --> 00:11:48,160 U ovvjament immedjatament wara nagħmlu sejħa biex malloc aħna dejjem 249 00:11:48,160 --> 00:11:52,989 kun żgur li tivverifika għall null, għaliex jekk sirna null lura 250 00:11:52,989 --> 00:11:54,280 kien hemm xi tip ta 'problema. 251 00:11:54,280 --> 00:11:57,570 Aħna ma rridux li dereference li null pointer jew inti se jsofru tort seg. 252 00:11:57,570 --> 00:11:58,510 Li mhux tajjeb. 253 00:11:58,510 --> 00:11:59,760 Allura konna malloced tal-node. 254 00:11:59,760 --> 00:12:01,260 Aħna ser tassumi aħna kellna suċċess hawn. 255 00:12:01,260 --> 00:12:06,090 Aħna qed tmur biex tqiegħed fis-12 ta ' qasam tad-data ta 'dik node. 256 00:12:06,090 --> 00:12:11,570 Issa inti recall liema mill pointers tagħna jiċċaqlaq jmiss hekk aħna ma jqassmux il-katina? 257 00:12:11,570 --> 00:12:15,100 Għandna koppja ta 'għażliet hawn imma l-unika waħda li għaddej biex tkun bla periklu 258 00:12:15,100 --> 00:12:19,330 huwa li jiġu stabbiliti aħbarijiet jmiss pointer li jindikaw il-kap antika tal-lista 259 00:12:19,330 --> 00:12:21,360 jew dak dalwaqt se tkun l- kap antika tal-lista. 260 00:12:21,360 --> 00:12:23,610 U issa li kollha ta 'tagħna elementi huma b'katina flimkien, 261 00:12:23,610 --> 00:12:27,370 nistgħu biss jiċċaqalqu lista għall-punt għall-istess post li ma ġdid. 262 00:12:27,370 --> 00:12:33,550 U aħna għandna issa effettivament imbuttat a element ġdid fuq il-faċċata tal-munzell. 263 00:12:33,550 --> 00:12:36,420 >> Pop aħna biss jixtiequ li tħassar dik l-ewwel element. 264 00:12:36,420 --> 00:12:38,150 U hekk bażikament dak għandna nagħmlu hawnhekk, 265 00:12:38,150 --> 00:12:40,050 ukoll għandna biex isibu t-tieni element. 266 00:12:40,050 --> 00:12:43,540 Eventwalment li se ssir il-ġdid ras wara we tħassar l-ewwel waħda. 267 00:12:43,540 --> 00:12:47,300 Allura aħna biss jeħtieġ li tibda minn il-bidu, timxi 'l quddiem wieħed. 268 00:12:47,300 --> 00:12:50,340 Ladarba aħna ħadthom ltqajna istiva fuq waħda quddiem ta 'fejn aħna bħalissa 269 00:12:50,340 --> 00:12:53,850 aħna tista 'tħassar l-ewwel wieħed sikur u allura nistgħu biss jiċċaqalqu il-kap 270 00:12:53,850 --> 00:12:57,150 għall-punt li dak li kien il- tieni terminu u mbagħad issa 271 00:12:57,150 --> 00:12:59,170 hija l-ewwel wara li node ġie mħassar. 272 00:12:59,170 --> 00:13:01,160 >> Għalhekk għal darb'oħra, tieħu ħarsa lejn din bħala dijagramma aħna 273 00:13:01,160 --> 00:13:05,022 tixtieq li issa pop xi element off ta 'dan munzell. 274 00:13:05,022 --> 00:13:05,730 Allura dak li nagħmlu? 275 00:13:05,730 --> 00:13:08,188 Well we qed l-ewwel se toħloq a pointer ġdid li għaddej 276 00:13:08,188 --> 00:13:10,940 għall-punt li l-istess post bħall-ras. 277 00:13:10,940 --> 00:13:13,790 Aħna qed tmur biex jġorrhom pożizzjoni waħda quddiem billi qal ugwali trav 278 00:13:13,790 --> 00:13:17,510 TRAV jmiss per eżempju, li tavvanza l-waħda trav pointer 279 00:13:17,510 --> 00:13:19,324 pożizzjoni bil-quddiem. 280 00:13:19,324 --> 00:13:21,240 Issa li aħna ħadthom ltqajna iżommu fuq l-ewwel element 281 00:13:21,240 --> 00:13:24,573 permezz tal-pointer imsejħa lista, u l tieni element permezz ta 'pointer imsejjaħ 282 00:13:24,573 --> 00:13:28,692 trav, nistgħu sikur tħassar dan ewwel element mill-munzell 283 00:13:28,692 --> 00:13:30,650 mingħajr ma jitilfu l-bqija tal-katina għaliex aħna 284 00:13:30,650 --> 00:13:32,358 jkollhom mod biex jirreferi għat-tieni element 285 00:13:32,358 --> 00:13:34,780 jibagħtu permezz ta 'l- pointer imsejħa trav. 286 00:13:34,780 --> 00:13:37,100 >> Allura issa nistgħu ħielsa li node. 287 00:13:37,100 --> 00:13:38,404 Aħna jista 'b'xejn lista. 288 00:13:38,404 --> 00:13:41,320 U allura kollha għandna bżonn tagħmel issa huwa iċaqlaq il-lista li jindikaw il-istess post 289 00:13:41,320 --> 00:13:44,482 li trav ma, u aħna qed tip ta 'lura fejn bdejna qabel we imbuttat 12 290 00:13:44,482 --> 00:13:45,690 fuq fl-ewwel lok, id-dritt. 291 00:13:45,690 --> 00:13:46,940 Dan huwa eżattament fejn konna. 292 00:13:46,940 --> 00:13:48,840 Kellna dan munzell erba element. 293 00:13:48,840 --> 00:13:49,690 Aħna miżjud il-ħames. 294 00:13:49,690 --> 00:13:51,910 Aħna imbuttat minn ħamsa element fuq, u allura aħna 295 00:13:51,910 --> 00:13:55,980 popped li aktar reċentement element miżjud lura off. 296 00:13:55,980 --> 00:13:58,816 >> Li tassew pretty ħafna kollha hemm stacks. 297 00:13:58,816 --> 00:14:00,190 Inti tista jimplimentawhom bħala arrays. 298 00:14:00,190 --> 00:14:01,815 Inti tista jimplimentawhom bħala listi marbuta. 299 00:14:01,815 --> 00:14:04,810 Hemm huma, naturalment, oħrajn modi biex jimplimentawhom kif ukoll. 300 00:14:04,810 --> 00:14:09,060 Bażikament ir-raġuni aħna se jużaw stacks huwa li jżommu d-data b'tali mod 301 00:14:09,060 --> 00:14:12,090 li l-aktar reċentement miżjud element huwa l-ewwel ħaġa li għandna qed 302 00:14:12,090 --> 00:14:14,980 tmur jridu jiksbu lura. 303 00:14:14,980 --> 00:14:17,900 Jien Doug Lloyd, dan huwa CS50. 304 00:14:17,900 --> 00:14:19,926