1 00:00:00,000 --> 00:00:02,730 [Powered by Google Translate] [Alt 6: Lúide Compordach] 2 00:00:02,730 --> 00:00:05,040 [Nate Hardison] [Ollscoil Harvard] 3 00:00:05,040 --> 00:00:07,320 [Tá sé seo CS50.] [CS50.TV] 4 00:00:07,320 --> 00:00:11,840 Gach ceart. Fáilte go dtí alt 6. 5 00:00:11,840 --> 00:00:14,690 An tseachtain seo, táimid ag dul a bheith ag caint faoi struchtúir sonraí in alt, 6 00:00:14,690 --> 00:00:19,780 go príomha mar gheall seachtaine seo fhadhb a leagtar ar spellr 7 00:00:19,780 --> 00:00:24,410 dhéanann a bunch iomlán de taiscéalaíochta struchtúr éagsúla sonraí. 8 00:00:24,410 --> 00:00:26,520 Tá a bunch de bhealaí éagsúla is féidir leat dul leis an leagan fhadhb, 9 00:00:26,520 --> 00:00:31,570 agus na struchtúir níos mó sonraí a fhios agat faoi, na rudaí níos cool is féidir leat a dhéanamh. 10 00:00:31,570 --> 00:00:34,990 >> Mar sin a ligean tús a chur leis. An Chéad táimid ag dul chun labhairt faoi stacks, 11 00:00:34,990 --> 00:00:37,530 na sonraí Stack agus scuaine struchtúir a táimid ag dul chun labhairt faoi. 12 00:00:37,530 --> 00:00:40,560 Tá stacks agus scuainí i ndáiríre cabhrach nuair a thosaíonn muid ag caint faoi graif, 13 00:00:40,560 --> 00:00:44,390 nach bhfuil muid ag dul a dhéanamh an oiread sin de cheart anois. 14 00:00:44,390 --> 00:00:52,820 Ach tá siad i ndáiríre go maith chun tuiscint a fháil ar cheann de na struchtúir mór bunúsacha sonraí CS. 15 00:00:52,820 --> 00:00:54,880 Cur síos sa tsonraíocht atá leagtha fhadhb, 16 00:00:54,880 --> 00:00:59,260 má tá tú tharraingt suas, cainteanna faoi cruacha mar cosúil le 17 00:00:59,260 --> 00:01:05,239 an carn na tráidirí bia go bhfuil tú sa Caifitéire ag na hallaí bia 18 00:01:05,239 --> 00:01:09,680 i gcás nuair a thagann an fhoireann bia agus cuireann an tráidirí bia amach tar éis tá siad glanta iad, 19 00:01:09,680 --> 00:01:12,000 siad chairn iad a ceann ar bharr an taobh eile. 20 00:01:12,000 --> 00:01:15,050 Agus ansin nuair a thagann na páistí i mbia a fháil, 21 00:01:15,050 --> 00:01:19,490 tharraingt siad an tráidirí amach, ar dtús leis an ceann is fearr, ansin an ceann thíos é, ansin an ceann faoi bhun. 22 00:01:19,490 --> 00:01:25,190 Mar sin, i ndáiríre, is é an tráidire chéad a chur ar an bhfoireann bia síos an ceann deireanach go bhfaigheann déanta as. 23 00:01:25,190 --> 00:01:32,330 Is é an ceann deireanach a chuir an fhoireann bia ar an chéad cheann go bhfaigheann tógadh amach le haghaidh dinnéir. 24 00:01:32,330 --> 00:01:38,100 Sa tacar fhadhb ar spec, ar féidir leat a íoslódáil más rud é nach bhfuil tú cheana féin, 25 00:01:38,100 --> 00:01:46,730 labhairt linn faoi samhaltú a stucture sonraí Stack ag baint úsáide as an gcineál seo struct. 26 00:01:46,730 --> 00:01:51,070 >> Mar sin, cad tá muid fuair anseo, is é seo cosúil leis an méid a cuireadh i láthair i léacht, 27 00:01:51,070 --> 00:01:58,120 ach amháin i léacht i láthair againn seo le ints seachas * s Char. 28 00:01:58,120 --> 00:02:06,250 Tá sé seo dul chun bheith ina chairn go siopaí cad é? 29 00:02:06,250 --> 00:02:09,009 Daniel? Cad é atá a stóráil againn sa chairn? 30 00:02:09,009 --> 00:02:15,260 [Daniel] Teaghráin? >> Tá muid ag teaghráin a stóráil sa chairn, go díreach. 31 00:02:15,260 --> 00:02:20,950 Tá gach ní mór duit a bheith i d'fhonn a chruthú Stack eagar 32 00:02:20,950 --> 00:02:23,920 de thoilleadh ar leith, atá sa chás seo, 33 00:02:23,920 --> 00:02:28,020 acmhainn ag dul a bheith i ngach caipíní mar tá sé ina tairiseach. 34 00:02:28,020 --> 00:02:36,340 Agus ansin sa bhreis ar an eagar, tá gach ní mór dúinn a rianú ar an méid atá ann faoi láthair ar an eagar. 35 00:02:36,340 --> 00:02:38,980 Rud amháin a thabhairt faoi deara anseo go bhfuil de chineál ar fionnuar 36 00:02:38,980 --> 00:02:47,060 Tá go bhfuil muid ag chruthú ar an struchtúr sonraí Cruachta ar bharr eile struchtúr sonraí, ar an eagar. 37 00:02:47,060 --> 00:02:50,110 Tá bealaí éagsúla chun stoic i bhfeidhm. 38 00:02:50,110 --> 00:02:54,250 Ní bheidh muid é a dhéanamh go leor go fóill, ach táthar ag súil a dhéanamh tar éis na fadhbanna nasctha-liosta, 39 00:02:54,250 --> 00:03:00,520 Feicfidh tú a fheiceáil conas is féidir leat chun feidhme go héasca Stack ar bharr an liosta nasctha chomh maith. 40 00:03:00,520 --> 00:03:02,640 Ach do anois, beidh muid ag cloí leis na arrays. 41 00:03:02,640 --> 00:03:06,350 Mar sin, arís, tá gach ní mór dúinn le sraith agus ní mór dúinn ach a rianú an méid de na eagar. 42 00:03:06,350 --> 00:03:09,850 [Sam] Tá brón orainn, cén fáth go bhfuil sé go dúirt tú Tá an chairn ar bharr an teaghráin? 43 00:03:09,850 --> 00:03:13,440 Chun dom is cosúil sé cosúil go bhfuil an teaghráin laistigh den chairn. 44 00:03:13,440 --> 00:03:16,790 [Hardison] Yeah. Táimid ag a chruthú, táimid ag cur ár sraith sonraí a struchtúr - 45 00:03:16,790 --> 00:03:22,130 Tá go ceist mhór. Mar sin, tá an cheist cén fáth, do na daoine atá ag faire seo ar líne, 46 00:03:22,130 --> 00:03:24,140 cén fáth a bhfuil á rá againn go bhfuil an chairn ar bharr an teaghráin, 47 00:03:24,140 --> 00:03:27,990 toisc go anseo tá sé cosúil go bhfuil an teaghráin taobh istigh an chairn? 48 00:03:27,990 --> 00:03:31,050 Cé acu is go hiomlán leis an gcás. 49 00:03:31,050 --> 00:03:34,660 Cad a bhí mé ag tagairt do go raibh againn fuair an struchtúr sonraí eagar. 50 00:03:34,660 --> 00:03:39,290 Táimid agam le sraith de ruabhric * s, seo sraith de teaghráin, 51 00:03:39,290 --> 00:03:45,300 agus táimid ag dul chun cur leis go bhfuil d'fhonn a chruthú ar an struchtúr sonraí Cruachta. 52 00:03:45,300 --> 00:03:48,620 >> Mar sin, tá Stack beagán níos casta ná eagar. 53 00:03:48,620 --> 00:03:51,890 Is féidir linn úsáid le sraith a thógáil Stack. 54 00:03:51,890 --> 00:03:55,810 Mar sin, i gcás go deirimid go bhfuil an chairn a tógadh ar bharr eagar. 55 00:03:55,810 --> 00:04:02,510 Mar an gcéanna, mar a dúirt mé níos luaithe, is féidir linn a thógáil Stack ar bharr an liosta nasctha. 56 00:04:02,510 --> 00:04:04,960 In áit a úsáid a bhaint as le sraith de bheith i seilbh ár gcuid eilimintí, 57 00:04:04,960 --> 00:04:10,070 féidir linn a úsáid ar liosta nasctha de bheith i seilbh ár gnéithe agus an chairn a thógáil thart ar an. 58 00:04:10,070 --> 00:04:12,420 A ligean ar siúl tríd cúpla samplaí, ag féachaint ar roinnt cód, 59 00:04:12,420 --> 00:04:14,960 a fheiceáil cad atá ag tarlú i ndáiríre anseo. 60 00:04:14,960 --> 00:04:23,400 Ar thaobh na láimhe clé, tá mé thrown síos cad a bheadh ​​struct Stack cuma mhaith i gcuimhne 61 00:04:23,400 --> 00:04:28,330 más rud é acmhainn a bhí sainithe # bheith ceathair. 62 00:04:28,330 --> 00:04:33,490 Táimid iontach fuair ár ceithre-eilimint eagar * Char. 63 00:04:33,490 --> 00:04:38,110 Táimid agam strings [0], strings [1], strings [2], strings [3], 64 00:04:38,110 --> 00:04:43,800 agus ansin an spás seo caite le haghaidh ár slánuimhir méid. 65 00:04:43,800 --> 00:04:46,270 An bhfuil an ciall a bhaint as? Maith go leor. 66 00:04:46,270 --> 00:04:48,790 Tá sé seo cad a tharlaíonn má cad a dhéanfaidh mé ar dheis, 67 00:04:48,790 --> 00:04:55,790 a bheidh mo cód é, a dhearbhú ach struct, a struct Cruachta ar a dtugtar s. 68 00:04:55,790 --> 00:05:01,270 Is é seo a fháil againn. Leagann sé síos an lorg i gcuimhne. 69 00:05:01,270 --> 00:05:05,590 Is í an chéad cheist anseo cad iad ábhar an struct chairn? 70 00:05:05,590 --> 00:05:09,250 Ceart anois tá siad rud ar bith, ach ní bhíonn siad go hiomlán rud ar bith. 71 00:05:09,250 --> 00:05:13,300 Tá siad den chineál seo truflais. Tá aon smaoineamh cad atá iontu. 72 00:05:13,300 --> 00:05:17,000 Nuair a dhearbhú s chairn, tá muid ag caitheamh go díreach síos ar bharr chuimhne. 73 00:05:17,000 --> 00:05:19,840 Tá sé cineál cosúil dhearbhú o i agus ní initializing é. 74 00:05:19,840 --> 00:05:21,730 Níl a fhios agat cad atá in ann. Is féidir leat léamh cad atá in ann, 75 00:05:21,730 --> 00:05:27,690 ach ní fhéadfadh sé a bheith Super cabhrach. 76 00:05:27,690 --> 00:05:32,680 Rud amháin ba mhaith leat a mheabhrú i gcónaí a dhéanamh thúsú cibé is gá a initialized. 77 00:05:32,680 --> 00:05:35,820 Sa chás seo, táimid ag dul a thúsú an méid a bheith nialas, 78 00:05:35,820 --> 00:05:39,960 mar gheall ar sin ag dul chun dul amach a bheith an-tábhachtach dúinn. 79 00:05:39,960 --> 00:05:43,450 D'fhéadfadh muid dul ar aghaidh agus gach ceann de na leideanna, na s * Char thúsú, 80 00:05:43,450 --> 00:05:49,670 a bheith le roinnt luach intuigthe, is dócha null. 81 00:05:49,670 --> 00:05:58,270 Ach nach bhfuil sé go hiomlán riachtanach go ndéanaimid sin. 82 00:05:58,270 --> 00:06:04,200 >> Anois, tá an dá hoibríochtaí is mó ar stoic? 83 00:06:04,200 --> 00:06:07,610 Éinne cuimhin as léacht cad a dhéanann tú le cruacha? Tá? 84 00:06:07,610 --> 00:06:09,700 [Stella] Brú agus popping? >> Go díreach. 85 00:06:09,700 --> 00:06:13,810 Tá brú agus popping an dá hoibríochtaí is mó ar stoic. 86 00:06:13,810 --> 00:06:17,060 Agus cad a bhrú a dhéanamh? >> Cuireann sé rud éigin ar an barr 87 00:06:17,060 --> 00:06:19,300 an chairn, agus ansin a thógann popping sé as. 88 00:06:19,300 --> 00:06:23,150 [Hardison] díreach. Mar sin, ag brú pushes rud éigin ar bharr an chairn. 89 00:06:23,150 --> 00:06:27,700 Tá sé cosúil leis an bhfoireann bia a chur ar tráidire bia síos ar an gcuntar. 90 00:06:27,700 --> 00:06:33,630 Agus is é popping ag cur tráidire bia as an chairn. 91 00:06:33,630 --> 00:06:36,460 A ligean ar siúl tríd cúpla samplaí de cad a tharlaíonn 92 00:06:36,460 --> 00:06:39,720 nuair a rudaí a bhrú isteach sa an chairn. 93 00:06:39,720 --> 00:06:45,110 Más rud é go raibh muid a bhrú ar an teaghrán 'hello' isteach ar ár Stack, 94 00:06:45,110 --> 00:06:49,760 is é seo an méid a bheadh ​​ár léaráid cuma mhaith anois. 95 00:06:49,760 --> 00:06:53,410 Féach cad a tharlaíonn? 96 00:06:53,410 --> 00:06:56,530 Bhrúigh muid isteach an chéad eilimint ar ár eagar teaghráin 97 00:06:56,530 --> 00:07:01,420 agus upped ár count méid a bheidh le 1. 98 00:07:01,420 --> 00:07:05,340 Mar sin, má táimid ar an difríocht idir an dá sleamhnáin, bhí anseo 0, Tá anseo roimh an bhrú. 99 00:07:05,340 --> 00:07:08,690 Seo tar éis an bhrú. 100 00:07:08,690 --> 00:07:13,460 Roimh an bhrú, tar éis an bhrú. 101 00:07:13,460 --> 00:07:16,860 Agus anois tá muid ar cheann eilimint in ár chairn. 102 00:07:16,860 --> 00:07:20,970 Tá sé an teaghrán "hello", agus go bhfuil sé. 103 00:07:20,970 --> 00:07:24,440 Gach rud eile sa sraith, inár eagar teaghráin, fós truflais. 104 00:07:24,440 --> 00:07:27,070 Ní Tá initialized é. 105 00:07:27,070 --> 00:07:29,410 Ligean le rá againn a bhrú eile teaghrán isteach ar ár chairn. 106 00:07:29,410 --> 00:07:32,210 Táimid ag dul a bhrú "domhan" ar an am seo. 107 00:07:32,210 --> 00:07:35,160 Mar sin, is féidir leat a fheiceáil "domhan" Téann anseo ar bharr "hello", 108 00:07:35,160 --> 00:07:40,040 agus téann an líon méid suas go dtí 2. 109 00:07:40,040 --> 00:07:44,520 Anois is féidir linn a bhrú "CS50", agus beidh a théann ar bharr arís. 110 00:07:44,520 --> 00:07:51,110 Má théann muid ar ais, is féidir leat a fheiceáil conas tá muid rudaí ag brú ar bharr an chairn. 111 00:07:51,110 --> 00:07:53,320 Agus anois a fháil againn a pop. 112 00:07:53,320 --> 00:07:58,910 Nuair a popped muid rud éigin as an chairn, cad a tharla? 113 00:07:58,910 --> 00:08:01,540 Aon duine a fheiceáil ar an difríocht? Tá sé deas subtle. 114 00:08:01,540 --> 00:08:05,810 [Mac Léinn] An méid. >> Yeah, d'athraigh an méid. 115 00:08:05,810 --> 00:08:09,040 >> Cad eile leat a bheith ag súil a athrú? 116 00:08:09,040 --> 00:08:14,280 [Mac Léinn] Tá teaghráin, freisin. >> Ceart. Na teaghráin chomh maith. 117 00:08:14,280 --> 00:08:17,110 Casadh sé amach go nuair a bhíonn tú ag déanamh sé ar an mbealach seo, 118 00:08:17,110 --> 00:08:21,960 toisc nach bhfuil muid ag cóipeáil na heilimintí i ár Stack, 119 00:08:21,960 --> 00:08:24,670 againn i ndáiríre ní gá aon rud a dhéanamh; is féidir linn a úsáid ach an méid 120 00:08:24,670 --> 00:08:28,630 súil a choinneáil ar líon na rudaí i ár sraith 121 00:08:28,630 --> 00:08:33,780 ionas gur nuair a pop againn arís, arís muid decrement ach ár méid síos go dtí 1. 122 00:08:33,780 --> 00:08:39,440 Níl aon ghá le dul i ndáiríre i agus rud ar bith scríobh. 123 00:08:39,440 --> 00:08:41,710 Cineál ar funky. 124 00:08:41,710 --> 00:08:46,520 Casadh sé amach go bhfuil muid de ghnáth fhágáil ach rudaí ina n-aonar mar tá sé ag obair níos lú le linn a dhéanamh. 125 00:08:46,520 --> 00:08:50,060 Más rud é nach bhfuil againn chun dul ar ais agus rud éigin a scríobh, ansin cén fáth a dhéanann sé? 126 00:08:50,060 --> 00:08:54,150 Mar sin, nuair a pop againn faoi dhó as an chairn, is léir go ndéanann decrement an méid cúpla uair. 127 00:08:54,150 --> 00:08:59,120 Agus arís, tá sé seo ach toisc nach bhfuil muid rudaí a chóipeáil isteach inár chairn. 128 00:08:59,120 --> 00:09:01,320 Tá? Téigh amach romhainn. 129 00:09:01,320 --> 00:09:04,460 [Mac Léinn, dothuigthe] >> Agus ansin cad a tharlaíonn nuair a dhéanann tú a bhrú rud éigin arís? 130 00:09:04,460 --> 00:09:08,570 Nuair a bhrú tú rud éigin arís, ní áit a bhfuil sé dul? 131 00:09:08,570 --> 00:09:12,390 I gcás ina dtéann sé, Basil? >> Isteach strings [1]? >> Ceart. 132 00:09:12,390 --> 00:09:14,530 Cén fáth nach é a dul isteach strings [3]? 133 00:09:14,530 --> 00:09:19,410 [Basil] Mar gheall ar Forgot sé go raibh aon ní i strings [1] agus [2]? 134 00:09:19,410 --> 00:09:24,040 [Hardison] díreach. Ár chairn, go bunúsach, "dearmad" go raibh a bhfuil sé ar rud ar bith 135 00:09:24,040 --> 00:09:29,480 i strings [1] nó strings [2], mar sin nuair a bhrú "woot", 136 00:09:29,480 --> 00:09:36,670 cuireann sé sin go díreach isteach sa ghné ag strings [1]. 137 00:09:36,670 --> 00:09:41,590 An bhfuil aon cheisteanna maidir le conas a oibríonn seo, ag leibhéal bunúsach? 138 00:09:41,590 --> 00:09:45,160 [Sam] Mar sin nach bhfuil sé seo dinimiciúil ar bhealach ar bith, i dtéarmaí an méid 139 00:09:45,160 --> 00:09:47,620 nó ó thaobh mhéid an chairn? 140 00:09:47,620 --> 00:09:56,750 [Hardison] díreach. Tá sé seo - an pointe ná nach raibh an chairn dinimiciúil growning. 141 00:09:56,750 --> 00:10:02,850 Is é seo an chairn is féidir a shealbhú, ar a mhéad, ceithre * s Char, ar a mhéad ceithre rudaí. 142 00:10:02,850 --> 00:10:07,580 Más rud é go raibh muid chun iarracht a dhéanamh agus a bhrú ar an rud cúigiú, cad a cheapann tú ba chóir tarlú? 143 00:10:07,580 --> 00:10:11,870 [Mic léinn, dothuigthe] 144 00:10:11,870 --> 00:10:14,600 [Hardison] díreach. Tá roinnt rudaí a d'fhéadfadh tarlú. 145 00:10:14,600 --> 00:10:19,330 D'fhéadfadh seg sé, b'fhéidir, locht, ag brath ar cad a bhí againn - 146 00:10:19,330 --> 00:10:22,530 conas go díreach a bhí i bhfeidhm againn ar an ais-deireadh. 147 00:10:22,530 --> 00:10:31,740 D'fhéadfadh sé a forscríobh. D'fhéadfadh sé a bheith go thar maoil maolán gur labhair linn faoi sa rang. 148 00:10:31,740 --> 00:10:35,240 Cad é an rud is soiléire d'fhéadfadh a bheith overwritten 149 00:10:35,240 --> 00:10:42,370 má rinne muid a bhrú ar an rud breise ar ár Stack? 150 00:10:42,370 --> 00:10:44,550 Mar sin luaite tú thar maoil maolán. 151 00:10:44,550 --> 00:10:47,870 D'fhéadfadh a bheith Cad é an rud a bheadh ​​a fháil i scríbhinn os a chionn nó stomped ar 152 00:10:47,870 --> 00:10:52,320 má overflowed muid thaisme ag iarraidh a bhrú ar rud breise? 153 00:10:52,320 --> 00:10:54,730 [Daniel, dothuigthe] Féideartha >>. 154 00:10:54,730 --> 00:10:58,440 Ach ar dtús, d'fhéadfadh cad a tharlóidh? Cad a tharlaíonn má iarracht muid a bhrú rud ceathrú? 155 00:10:58,440 --> 00:11:06,220 D'fhéadfadh sé a scríobh ar an méid, ar a laghad leis an léaráid cuimhne go atá againn fuair. 156 00:11:06,220 --> 00:11:10,880 >> Sa tsonraíocht atá leagtha fhadhb, tá a cad táimid ag dul a bheith i bhfeidhm sa lá atá inniu, 157 00:11:10,880 --> 00:11:16,030 cad a dhéanann muid ag iarraidh a dhéanamh ná a sheoladh ar ais díreach bréagach. 158 00:11:16,030 --> 00:11:20,030 Is é ár modh bhrú ag dul ar ais ar luach Boole, 159 00:11:20,030 --> 00:11:22,920 agus go mbeidh luach Boole a bheith fíor má éiríonn leis an bhrú 160 00:11:22,920 --> 00:11:29,730 agus bréagach más rud é nach féidir linn aon rud níos mó a bhrú toisc go bhfuil an chairn iomlán. 161 00:11:29,730 --> 00:11:33,620 A ligean ar siúl tríd le beagán de chód ceart anois. 162 00:11:33,620 --> 00:11:36,400 Seo ár bhfeidhm a bhrú. 163 00:11:36,400 --> 00:11:40,380 Is é ár fheidhm a bhrú le haghaidh Stack ag dul a ghlacadh sa téad a chur ar an chruach. 164 00:11:40,380 --> 00:11:45,820 Tá sé seo ag dul ar ais fíor má tá an teaghrán a bhí bhrú go rathúil 165 00:11:45,820 --> 00:11:51,820 ar shlí eile chruach agus bréagach. 166 00:11:51,820 --> 00:11:59,740 D'fhéadfadh go mbeadh aon mholtaí a gur rud maith é an chéad a dhéanamh anseo? 167 00:11:59,740 --> 00:12:20,630 [Sam] Má ionann méid acmhainne ar ais ansin bréagach? 168 00:12:20,630 --> 00:12:23,320 [Hardison] Bingo. Nice job. 169 00:12:23,320 --> 00:12:26,310 Má tá an méid an cumas, táimid ag dul a thabhairt ar ais bréagach. 170 00:12:26,310 --> 00:12:29,270 Ní féidir linn a chur ar rud ar bith níos mó in ár chairn. 171 00:12:29,270 --> 00:12:36,900 Seachas sin, ba mhaith linn rud éigin a chur ar bharr an chairn. 172 00:12:36,900 --> 00:12:41,670 Cad is "barr an chairn," ar dtús? 173 00:12:41,670 --> 00:12:43,650 [Daniel] Méid 0? >> Size 0. 174 00:12:43,650 --> 00:12:49,990 Cad é an barr an chairn tar éis tá rud amháin i an chairn? Missy, an bhfuil a fhios agat? 175 00:12:49,990 --> 00:12:52,720 [Missy] One. Tá Méid >> amháin, go díreach. Tú a choinneáil ag cur leis an méid, 176 00:12:52,720 --> 00:13:01,690 agus gach uair a bhfuil tú ag a chur ar an ngné nua ag an méid innéacs ar an eagar. 177 00:13:01,690 --> 00:13:05,470 Is féidir linn é a dhéanamh leis an chineál sin de línéar aon-, má dhéanann chiall sin. 178 00:13:05,470 --> 00:13:11,910 Mar sin, tá muid fuair ár teaghráin eagar, táimid ag dul chun rochtain a fháil air ag an innéacs méid, 179 00:13:11,910 --> 00:13:14,780 agus táimid ag dul go díreach chun a stóráil ár * Char in ann. 180 00:13:14,780 --> 00:13:19,340 Fógra conas a bhfuil aon cóipeáil téad ar siúl i anseo, 181 00:13:19,340 --> 00:13:29,680 aon leithdháileadh dinimiciúil de chuimhne? 182 00:13:29,680 --> 00:13:34,440 Agus ansin thug Missy suas cad atá againn anois a dhéanamh, 183 00:13:34,440 --> 00:13:40,570 mar tá muid ag stóráil an teaghrán san áit chuí sa réimse, 184 00:13:40,570 --> 00:13:49,230 agus dúirt sí go raibh muid a incrimint an méid trí cheann amháin ionas go bhfuil muid réidh le haghaidh an bhrú seo chugainn. 185 00:13:49,230 --> 00:13:53,950 Sin, is féidir linn a dhéanamh go bhfuil s.size + +. 186 00:13:53,950 --> 00:13:59,330 Ag an bpointe seo, tá muid a bhrú isteach inár eagar. Cad é an rud deireanach ní mór dúinn a dhéanamh? 187 00:13:59,330 --> 00:14:10,110 [Mac Léinn] Tuairisceán fíor. >> Tuairisceán fíor. 188 00:14:10,110 --> 00:14:14,690 Mar sin, tá sé simplí go leor, cód simplí go leor. Ní iomarca. 189 00:14:14,690 --> 00:14:17,070 Nuair atá tú fillte do cheann timpeall conas a oibríonn an chairn, 190 00:14:17,070 --> 00:14:21,910 tá sé seo deas simplí a chur i bhfeidhm. 191 00:14:21,910 --> 00:14:26,390 >> Anois, tá an chuid eile den popping ar shraith as an chairn. 192 00:14:26,390 --> 00:14:29,410 Tá mé ag dul a thabhairt guys duit roinnt ama a bheith ag obair ar an beagán beag. 193 00:14:29,410 --> 00:14:34,320 Tá sé beagnach go bunúsach a mhalairt de méid atá déanta againn anseo i bhrú. 194 00:14:34,320 --> 00:14:38,510 Cad mé a rinneadh i ndáiríre - Oops. 195 00:14:38,510 --> 00:14:48,160 Tá mé booted suas fearas thar anseo, agus i fearas, 196 00:14:48,160 --> 00:14:53,600 Tá mé ceirteacha tarraingthe suas an fhadhb atá leagtha 5 tsonraíocht. 197 00:14:53,600 --> 00:15:02,560 Má táimid zúmáil isteach anseo, is féidir linn a fheiceáil mé ag cdn.cs50.net/2012/fall/psets/pset5.pdf. 198 00:15:02,560 --> 00:15:08,590 An bhfuil íoslódáil tú guys an gcód seo go sé suite anseo, section6.zip? 199 00:15:08,590 --> 00:15:15,030 Gach ceart. Más rud é nach bhfuil déanta agat go bhfuil, é sin a dhéanamh ceart anois, i ndáiríre go tapa. 200 00:15:15,030 --> 00:15:22,130 Feicfidh mé é a dhéanamh i mo fhuinneog teirminéil. 201 00:15:22,130 --> 00:15:25,090 Rinne mé i ndáiríre sé suas anseo. Yeah. 202 00:15:25,090 --> 00:15:34,730 Sea, Sam? >> Tá mé ceist faoi cén fáth go raibh tú ag rá lúibíní s.string 's size = str? 203 00:15:34,730 --> 00:15:42,910 Cad é str? An bhfuil a shainmhínítear áit éigin roimh, nó - ó, sa str * Char? 204 00:15:42,910 --> 00:15:47,160 [Hardison] Sea, go díreach. Ba é sin an argóint. >> Oh, maith go leor. Tá brón orm. 205 00:15:47,160 --> 00:15:49,470 [Hardison] Táimid ag sonrú an teaghrán a bhrú isteach 206 00:15:49,470 --> 00:15:55,220 An cheist eile a d'fhéadfadh teacht suas nach raibh muid ag labhairt i ndáiríre faoi anseo bhí 207 00:15:55,220 --> 00:15:58,810 thógamar do dheonú go raibh muid an athróg ar a dtugtar s 208 00:15:58,810 --> 00:16:02,710 a bhí i scóip agus inrochtana a chur chugainn. 209 00:16:02,710 --> 00:16:06,960 Chuir muid talamh slán de go raibh s seo struct chairn. 210 00:16:06,960 --> 00:16:08,930 Mar sin, ag breathnú siar ar an gcód seo a bhrú, 211 00:16:08,930 --> 00:16:13,450 Is féidir leat a fheiceáil go bhfuil muid ag déanamh rudaí leis an teaghrán fuair pas i 212 00:16:13,450 --> 00:16:19,210 ach ansin ar fad ar tobann, tá muid ag teacht ar s.size, cosúil le, áit a raibh s teacht ó? 213 00:16:19,210 --> 00:16:23,020 Sa an cód go bhfuil muid ag dul chun breathnú ar sa chartlann alt 214 00:16:23,020 --> 00:16:27,100 agus leagann sé ansin an stuif go mbainfidh tú a dhéanamh i do fhadhb, 215 00:16:27,100 --> 00:16:32,440 atá déanta againn ar ár Stack struct athróg domhanda 216 00:16:32,440 --> 00:16:36,380 ionas gur féidir linn rochtain a bheith i ngach ceann dár bhfeidhmeanna éagsúla 217 00:16:36,380 --> 00:16:40,630 gan dul de láimh é thart agus é a pas a fháil trí thagairt a dhéanamh, 218 00:16:40,630 --> 00:16:44,870 gach ní chineál sin de stuif dó. 219 00:16:44,870 --> 00:16:52,280 Táimid ag cheating ach beagán, más maith leat, chun rudaí a dhéanamh nicer. 220 00:16:52,280 --> 00:16:57,430 Agus go bhfuil rud éigin táimid ag déanamh anseo mar tá sé le haghaidh spraoi, tá sé níos éasca. 221 00:16:57,430 --> 00:17:02,800 Go minic, beidh tú daoine a fheiceáil seo a dhéanamh má tá siad ar cheann mór sonraí a struchtúr 222 00:17:02,800 --> 00:17:07,750 go tá á n-oibriú ar laistigh dá chlár. 223 00:17:07,750 --> 00:17:09,560 >> A ligean ar dul ar ais go dtí an fearas. 224 00:17:09,560 --> 00:17:15,240 An raibh gach duine a fháil go rathúil leis an section6.zip? 225 00:17:15,240 --> 00:17:20,440 Gach duine unzip é ag baint úsáide as section6.zip dízipeáil? 226 00:17:20,440 --> 00:17:27,200 Má théann tú isteach an t-eolaire alt 6 - 227 00:17:27,200 --> 00:17:29,220 AAH, ar fud na háite - 228 00:17:29,220 --> 00:17:32,840 agus tú liosta cad atá i anseo, a fheiceann tú go bhfuil tú trí éagsúla. comhaid c. 229 00:17:32,840 --> 00:17:38,350 Tá sé agat scuaine, ar SLL, atá ina n-aonar-nasctha liosta, agus Stack. 230 00:17:38,350 --> 00:17:44,600 Má osclaíonn tú suas stack.c, 231 00:17:44,600 --> 00:17:47,330 féidir leat a fheiceáil go atá againn fuair an struct sainithe dúinn, 232 00:17:47,330 --> 00:17:51,330 an struct cruinn gur labhair muid díreach faoi na sleamhnáin. 233 00:17:51,330 --> 00:17:56,340 Táimid iontach fuair ár athróg domhanda le haghaidh an chairn, 234 00:17:56,340 --> 00:18:00,110 tá muid fuair ár bhfeidhm a bhrú, 235 00:18:00,110 --> 00:18:04,230 agus ansin tá muid fuair ár bhfeidhm pop. 236 00:18:04,230 --> 00:18:08,320 Feicfidh mé a chur ar an cód le haghaidh a bhrú ar ais ar bun ar an sleamhnán anseo, 237 00:18:08,320 --> 00:18:10,660 ach cad ba mhaith liom tú guys a dhéanamh, mar is fearr de do chumas, 238 00:18:10,660 --> 00:18:13,790 dul agus an fheidhm pop i bhfeidhm. 239 00:18:13,790 --> 00:18:18,480 Nuair atá tú a chur i bhfeidhm, is féidir leat a thiomsú seo le a dhéanamh Stack, 240 00:18:18,480 --> 00:18:22,540 agus a rith ansin ar an inrite Stack mar thoradh air, 241 00:18:22,540 --> 00:18:28,390 agus a reáchtáil ar fad an cód tástála síos anseo go bhfuil i is mó. 242 00:18:28,390 --> 00:18:31,060 Agus tógann sé príomh-aire i ndáiríre a dhéanamh ar an bhrú agus pop glaonna 243 00:18:31,060 --> 00:18:33,220 agus a chinntiú go dtéann gach rud trí gach ceart. 244 00:18:33,220 --> 00:18:36,820 Initializes sé freisin ar an méid Stack dheis anseo 245 00:18:36,820 --> 00:18:39,780 sin ní gá duit a bheith buartha faoi initializing sin. 246 00:18:39,780 --> 00:18:42,310 Is féidir leat glacadh leis go bhfuil sé curtha initialized i gceart 247 00:18:42,310 --> 00:18:48,000 ag an am go bhfuil tú rochtain a fháil air san fheidhm pop. 248 00:18:48,000 --> 00:18:53,530 An dhéanamh go chiall? 249 00:18:53,530 --> 00:19:00,100 Mar sin anseo a théann muid. Níl an cód a bhrú. 250 00:19:00,100 --> 00:19:13,210 Feicfidh mé a thabhairt duit guys 5 nó 10 nóiméad. 251 00:19:13,210 --> 00:19:15,690 Agus má tá aon cheist agat idir an dá linn fad a bhíonn tú ag códú, 252 00:19:15,690 --> 00:19:17,710 le do thoil iarr orthu amach os ard. 253 00:19:17,710 --> 00:19:23,080 Mar sin, má fhaigheann tú go pointe sticking, ach a iarraidh. 254 00:19:23,080 --> 00:19:26,030 Bíodh a fhios agam, a ligean ar gach duine eile a fhios. 255 00:19:26,030 --> 00:19:28,160 Obair le do chomharsa chomh maith. 256 00:19:28,160 --> 00:19:30,360 [Daniel] Táimid ag cur ach pop ceart anois? >> Just a pop. 257 00:19:30,360 --> 00:19:34,200 Cé is féidir leat cóip le cur chun feidhme a bhrú más mian leat 258 00:19:34,200 --> 00:19:37,780 ionas go mbeidh an tástáil ag obair. 259 00:19:37,780 --> 00:19:41,940 Toisc go bhfuil sé deacair a thástáil rudaí ag dul isteach - 260 00:19:41,940 --> 00:19:49,030 nó, tá sé deacair a thástáil rudaí a popping amach as chairn más rud é nach bhfuil aon rud i an chairn chun tús a chur leis. 261 00:19:49,030 --> 00:19:55,250 >> Cad é pop ceaptha a bheith ag filleadh? An eilimint ó bharr an chairn. 262 00:19:55,250 --> 00:20:01,260 Tá sé seo ceaptha a fháil ar an ngné as an barr an chairn 263 00:20:01,260 --> 00:20:05,780 agus decrement ansin méid an chairn, 264 00:20:05,780 --> 00:20:07,810 agus anois tá tú caillte an ghné ar an mbarr. 265 00:20:07,810 --> 00:20:11,420 Agus ansin tú ar ais leis an ngné ar an mbarr. 266 00:20:11,420 --> 00:20:20,080 [Mac Léinn, dothuigthe] 267 00:20:20,080 --> 00:20:28,810 [Hardison] Mar sin, cad a tharlaíonn má dhéanann tú é sin? [Mac Léinn, dothuigthe] 268 00:20:28,810 --> 00:20:34,000 Cad chríochnaíonn suas ag tarlú tá tú rochtain a fháil ar dócha go 269 00:20:34,000 --> 00:20:37,350 nach bhfuil gné bhfuil curtha initialized fóill, mar sin do ríomh 270 00:20:37,350 --> 00:20:39,990 áit a bhfuil an ghné seo is déanaí ar ceal. 271 00:20:39,990 --> 00:20:46,260 Mar sin anseo, má thugann tú, i bhrú, tá muid ag teaghráin rochtain ar an eilimint s.size 272 00:20:46,260 --> 00:20:48,560 mar tá sé ina innéacs nua. 273 00:20:48,560 --> 00:20:51,460 Tá sé an barr nua ar an chairn. 274 00:20:51,460 --> 00:21:01,100 De bharr an méid i pop, tá s.size ag dul a bheith ar an spás seo chugainn, 275 00:21:01,100 --> 00:21:05,210 an spás sin ar bharr na gnéithe uile i do chairn. 276 00:21:05,210 --> 00:21:10,050 Mar sin, nach bhfuil an ghné barr-is mó s.size, 277 00:21:10,050 --> 00:21:14,930 ach, tá sé faoi bhun sé. 278 00:21:14,930 --> 00:21:19,640 >> Is é an rud eile a dhéanamh nuair a dhéanann tú - i pop, 279 00:21:19,640 --> 00:21:22,030 Tá gá duit a decrement an méid. 280 00:21:22,030 --> 00:21:28,750 Má tá tú ag cuimhneamh ar ais go dtí ár n-léaráid beag ar dheis anseo, 281 00:21:28,750 --> 00:21:30,980 i ndáiríre, an rud amháin go chonaic muid ag tarlú nuair a d'iarr muid pop 282 00:21:30,980 --> 00:21:36,150 gur thit an méid, ar an gcéad go 2, agus ansin go dtí an 1. 283 00:21:36,150 --> 00:21:42,620 Ansin, nuair a bhrú orainn gné nua ar, bheadh ​​sé dul ar ag an láthair ceart. 284 00:21:42,620 --> 00:21:49,610 [Basil] Má tá an s.size 2, ní bheadh ​​ansin é a dul chun eilimint 2, 285 00:21:49,610 --> 00:21:54,400 agus ansin gur mhaith leat a pop an eilimint amach? 286 00:21:54,400 --> 00:21:59,510 Mar sin, má chuaigh muid go dtí - >> ligean Mar sin, breathnú ar seo arís. 287 00:21:59,510 --> 00:22:07,730 Más é seo ár n-chairn ag an bpointe seo 288 00:22:07,730 --> 00:22:12,130 agus tugaimid pop, 289 00:22:12,130 --> 00:22:16,150 ar dá réir is innéacs an ghné barr-chuid is mó? 290 00:22:16,150 --> 00:22:19,300 [Basil] Ar 2, ach tá sé ag dul a pop 3. >> Ceart. 291 00:22:19,300 --> 00:22:24,220 Mar sin, i gcás go bhfuil ár méid 3, ach ba mhaith linn a pop an eilimint ag innéacs 2. 292 00:22:24,220 --> 00:22:29,900 Tá sé gur de chineál tipiciúil de thalamh trí cheann amháin go bhfuil tú leis an innéacsú náid-de arrays. 293 00:22:29,900 --> 00:22:36,430 Mar sin bhfuil tú ag iarraidh a pop an tríú gné, ach nach bhfuil an tríú gné ar innéacs 3. 294 00:22:36,430 --> 00:22:39,430 Agus ar an gcúis nach bhfuil againn é sin a dhéanamh 1 lúide nuair a bhíonn muid ag brú 295 00:22:39,430 --> 00:22:44,120 toisc ceart anois, thugann tú faoi deara go bhfuil an ghné barr-chuid is mó, 296 00:22:44,120 --> 00:22:47,600 más rud é go raibh muid a bhrú rud éigin eile ar an chairn ag an bpointe seo, 297 00:22:47,600 --> 00:22:50,360 ba mhaith linn ag iarraidh a bhrú ar innéacs 3. 298 00:22:50,360 --> 00:23:03,550 Agus a tharlaíonn sé ach ionas go mbeidh an méid agus na hinnéacsanna líne suas nuair a bhíonn tú ag brú. 299 00:23:03,550 --> 00:23:06,960 >> Cé a fuair a chur chun feidhme Stack ag obair? 300 00:23:06,960 --> 00:23:09,690 Tá sé agat Stack ag obair amháin. An bhfuil tú pop ag obair go fóill? 301 00:23:09,690 --> 00:23:11,890 [Daniel] Tá. I mo thuairimse, mar sin. 302 00:23:11,890 --> 00:23:14,610 Tá >> Clár reatha agus nach seg éascadh, tá a phriontáil amach é? 303 00:23:14,610 --> 00:23:17,520 An é a phriontáil amach "rath" nuair a ritheann tú é? 304 00:23:17,520 --> 00:23:22,630 Yeah. Déan chairn, sé ar siúl, más rud é priontaí sé amach "rath" agus ní théann sé borradh, 305 00:23:22,630 --> 00:23:26,000 ansin go léir go maith. 306 00:23:26,000 --> 00:23:34,070 Gach ceart. Ligean ar dul go dtí an fearas i ndáiríre go tapa, 307 00:23:34,070 --> 00:23:46,100 agus beidh muid ag siúl tríd an. 308 00:23:46,100 --> 00:23:51,110 Má táimid ar cad atá ar siúl anseo le pop, 309 00:23:51,110 --> 00:23:55,220 Daniel, cad a bhí an chéad rud a rinne tú? 310 00:23:55,220 --> 00:23:58,850 [Daniel] Má tá s.size níos mó ná 0. 311 00:23:58,850 --> 00:24:03,120 [Hardison] Maith go leor. Agus cén fáth go raibh a dhéanann tú é sin? 312 00:24:03,120 --> 00:24:05,610 [Daniel] Chun a chinntiú go raibh rud éigin taobh istigh an chairn. 313 00:24:05,610 --> 00:24:10,950 [Hardison] Ceart. Ba mhaith leat a thástáil chun a chinntiú go bhfuil s.size níos mó ná 0; 314 00:24:10,950 --> 00:24:13,280 ar shlí eile, cad ba mhaith leat a bheith tarlú? 315 00:24:13,280 --> 00:24:16,630 [Daniel] null Tuairisceán? Null Tuairisceán >>, go díreach. 316 00:24:16,630 --> 00:24:20,740 Mar sin, más rud é s.size níos mó ná 0. Ansin, cad tá muid ag dul a dhéanamh? 317 00:24:20,740 --> 00:24:25,890 Cad a dhéanaimid mura bhfuil an chairn folamh? 318 00:24:25,890 --> 00:24:31,210 [Stella] tú decrement an méid? >> Tú decrement an méid, ceart go leor. 319 00:24:31,210 --> 00:24:34,440 Mar sin, conas a rinne tú é sin? >> S.size--. 320 00:24:34,440 --> 00:24:37,030 [Hardison] Breataine. Agus ansin cad a rinne tú? 321 00:24:37,030 --> 00:24:44,140 [Stella] Agus ansin dúirt mé ar ais s.string [s.size]. 322 00:24:44,140 --> 00:24:48,560 [Hardison] Breataine. 323 00:24:48,560 --> 00:24:51,940 Seachas sin tú ar ais null. Sea, Sam? 324 00:24:51,940 --> 00:24:55,510 [Sam] Cén fáth nach gá é a bheith s.size + 1? 325 00:24:55,510 --> 00:24:58,430 [Hardison] Plus 1? >> Yeah. >> Fuair ​​sé. 326 00:24:58,430 --> 00:25:00,980 [Sam] Shíl mé toisc go bhfuil tú ag cur 1 as, 327 00:25:00,980 --> 00:25:04,290 ansin tá tú ag dul a bheith ag filleadh ní an ceann a d'iarr siad do. 328 00:25:04,290 --> 00:25:09,400 [Hardison] Agus bhí sé seo ach cad a bhí muid ag caint faoi leis an gceist ar fad de 0 innéacsanna. 329 00:25:09,400 --> 00:25:11,380 Mar sin, má táimid zúmáil ar ais thar anseo. 330 00:25:11,380 --> 00:25:15,650 Má táimid ar an Guy ar dheis anseo, is féidir leat a fheiceáil nuair a pop againn, 331 00:25:15,650 --> 00:25:19,340 táimid ag popping an eilimint ag innéacs 2. 332 00:25:19,340 --> 00:25:25,200 >> Mar sin, táimid ag laghdú ár méid dtús, ansin oireann ár méid ár n-innéacs. 333 00:25:25,200 --> 00:25:39,650 Más rud é nach bhfuil muid decrement an méid dtús, ansin ní mór dúinn méid sin a dhéanamh -1 agus ansin decrement. 334 00:25:39,650 --> 00:25:45,270 Great. Gach maith? 335 00:25:45,270 --> 00:25:47,530 Ceisteanna ar bith ar seo? 336 00:25:47,530 --> 00:25:54,050 Tá roinnt bealaí éagsúla chun é seo a scríobh chomh maith. 337 00:25:54,050 --> 00:26:03,290 Go deimhin, is féidir linn a dhéanamh rud éigin fiú - is féidir linn a dhéanamh ar aon-liner. 338 00:26:03,290 --> 00:26:05,770 Féidir linn a dhéanamh ar ais aon-líne. 339 00:26:05,770 --> 00:26:12,980 Mar sin, is féidir linn a decrement ndáiríre roimh muid ar ais ag déanamh sin. 340 00:26:12,980 --> 00:26:18,320 Mar sin, a chur ar an - roimh an s.size. 341 00:26:18,320 --> 00:26:22,060 Sin a dhéanann an líne dlúth i ndáiríre. 342 00:26:22,060 --> 00:26:30,940 I gcás an difríocht idir an - size s agus. S.size-- 343 00:26:30,940 --> 00:26:40,130 is é sin an postfix - glaoch siad é postfix mar gheall ar an - Tagann tar éis an s.size-- 344 00:26:40,130 --> 00:26:47,430 Ciallaíonn sé sin go bhfuil s.size mheas maidir leis na críocha a aimsiú an t-innéacs 345 00:26:47,430 --> 00:26:50,410 mar go bhfuil sé faoi láthair nuair a bhíonn an líne seo a fhorghníomhú, 346 00:26:50,410 --> 00:26:54,290 agus ansin seo - a tharlaíonn tar éis faigheann an líne gcrích. 347 00:26:54,290 --> 00:27:00,340 Tar éis an eilimint ag s.size innéacs rochtain. 348 00:27:00,340 --> 00:27:07,260 Agus ní go cad ba mhaith linn, mar ba mhaith linn an decrement a tharlóidh ar dtús. 349 00:27:07,260 --> 00:27:10,990 Othewise, tá muid ag dul a bheith ag teacht ar an raon, go héifeachtach, as bounds. 350 00:27:10,990 --> 00:27:16,850 Táimid ag dul a bheith rochtain a fháil ar an eilimint os cionn an ceann a ba mhaith linn i ndáiríre a rochtain. 351 00:27:16,850 --> 00:27:23,840 Yeah, Sam? >> An bhfuil níos tapúla é nó a úsáid RAM níos lú a dhéanamh ar líne amháin nó nach bhfuil? 352 00:27:23,840 --> 00:27:29,620 [Hardison] Macánta, braitheann sé i ndáiríre. 353 00:27:29,620 --> 00:27:34,220 [Sam, dothuigthe] >> Yeah, braitheann sé. Is féidir leat a dhéanamh cleasanna tiomsaitheoir 354 00:27:34,220 --> 00:27:41,580 a fháil ar an tiomsaitheoir a aithint go, de ghnáth, a shamhlú mé. 355 00:27:41,580 --> 00:27:44,840 >> Mar sin, tá muid a luaitear le beagán faoi an stuif leas iomlán a bhaint tiomsaitheoir 356 00:27:44,840 --> 00:27:47,400 gur féidir leat a dhéanamh a thiomsú, 357 00:27:47,400 --> 00:27:50,580 agus sin é an saghas rud go bhféadfaí Tiomsaitheoir bheith in ann a figiúr amach, 358 00:27:50,580 --> 00:27:54,710 cosúil ó, hug, b'fhéidir gur féidir liom a dhéanamh seo go léir in aon oibríocht, 359 00:27:54,710 --> 00:27:59,420 i gcomparáid le luchtú an athróg mhéid, i ó RAM, 360 00:27:59,420 --> 00:28:03,770 decrementing é, a stóráil sé ar ais amach, agus ansin luchtú sé ar ais i arís 361 00:28:03,770 --> 00:28:08,000 a phróiseáil an chuid eile den oibríocht. 362 00:28:08,000 --> 00:28:10,710 Ach de ghnáth, ní, nach é seo an saghas rud 363 00:28:10,710 --> 00:28:20,770 go ag dul a dhéanamh do chlár i bhfad níos tapúla. 364 00:28:20,770 --> 00:28:26,000 Ceisteanna ar bith níos mó ar cruacha? 365 00:28:26,000 --> 00:28:31,360 >> Mar sin, ag brú agus popping. Más mian leat guys triail a bhaint as an eagrán hacker, 366 00:28:31,360 --> 00:28:33,660 cad atá déanta againn in eagrán hacker atá imithe i ndáiríre 367 00:28:33,660 --> 00:28:37,670 agus rinne an chairn ag fás dinimiciúil. 368 00:28:37,670 --> 00:28:43,190 Is é an dúshlán go bhfuil go príomha suas anseo san fheidhm a bhrú, 369 00:28:43,190 --> 00:28:48,820 chun an figiúr amach conas a dhéanamh go eagar ag fás 370 00:28:48,820 --> 00:28:52,450 mar a gcoinníonn tú ag brú gnéithe níos mó agus níos mó ar an chairn. 371 00:28:52,450 --> 00:28:56,000 Níl sé i ndáiríre cód i bhfad ró-breise. 372 00:28:56,000 --> 00:29:00,080 Just a glaoch chun - caithfidh tú cuimhneamh ar an glaonna a fháil chun malloc ann i gceart, 373 00:29:00,080 --> 00:29:03,310 agus figiúr sin amach nuair a bhíonn tú ag dul realloc a ghlaoch. 374 00:29:03,310 --> 00:29:06,090 Sin dúshlán spraoi má tá tú suim acu ann. 375 00:29:06,090 --> 00:29:11,550 >> Ach de thuras na huaire, a ligean ar bogadh ar aghaidh, agus a ligean ar labhairt faoi scuainí. 376 00:29:11,550 --> 00:29:15,680 Scrollaigh trí anseo. 377 00:29:15,680 --> 00:29:19,340 Is é an scuaine deartháir nó deirfiúr deireadh an chairn. 378 00:29:19,340 --> 00:29:25,380 Mar sin, i an chairn, cuireadh rudaí i deireanach 379 00:29:25,380 --> 00:29:28,810 Bhí na rudaí chéad a aisghabháil ansin. 380 00:29:28,810 --> 00:29:33,600 Táimid iontach fuair an deireanach i, amach ar dtús, nó LIFO, a ordú. 381 00:29:33,600 --> 00:29:38,390 De bharr an méid sa scuaine, mar gur mhaith leat ag súil ó nuair a bhíonn tú ag seasamh i líne, 382 00:29:38,390 --> 00:29:41,980 an chéad duine a fháil i líne, an chéad rud a dul isteach ar an scuaine, 383 00:29:41,980 --> 00:29:47,630 Is é an chéad rud go bhfaigheann aisghabháil ó na scuaine. 384 00:29:47,630 --> 00:29:51,490 Scuainí iad freisin a úsáidtear go minic nuair a bhíonn muid ag déileáil le graif, 385 00:29:51,490 --> 00:29:55,560 cosúil le phléamar go hachomair le stacks, 386 00:29:55,560 --> 00:30:00,260 agus go bhfuil siad scuainí chomh maith handy a bunch de rudaí eile. 387 00:30:00,260 --> 00:30:06,180 Tá Rud amháin a thagann suas go minic ag iarraidh a choimeád ar bun, mar shampla, 388 00:30:06,180 --> 00:30:12,310 liosta curtha in eagar na n-eilimintí. 389 00:30:12,310 --> 00:30:17,650 Agus is féidir leat é seo a bhfuil eagar. Is féidir leat a choimeád ar bun liosta in eagar de na rudaí i sraith, 390 00:30:17,650 --> 00:30:20,650 ach áit a bhfuil go bhfaigheann tricky ansin caithfidh tú i gcónaí chun teacht ar 391 00:30:20,650 --> 00:30:26,160 an áit chuí a chur isteach ar an rud eile. 392 00:30:26,160 --> 00:30:28,250 Mar sin, má tá tú le sraith de uimhreacha, 1 trí 10, 393 00:30:28,250 --> 00:30:31,630 agus ansin ba mhaith leat a bhfuil a leathnú chuig gach na huimhreacha 1 trí 100, 394 00:30:31,630 --> 00:30:33,670 agus tá tú ag fáil na huimhreacha in ord randamach agus ag iarraidh gach rud a choinneáil 395 00:30:33,670 --> 00:30:40,650 curtha in eagar mar a théann tú tríd, deireadh tú suas a bhfuil a dhéanamh ar a lán aistriú. 396 00:30:40,650 --> 00:30:43,910 Le cineálacha áirithe scuainí agus cineálacha áirithe struchtúir sonraí bunúsacha, 397 00:30:43,910 --> 00:30:46,670 Is féidir leat a choimeád i ndáiríre simplí go cothrom. 398 00:30:46,670 --> 00:30:50,640 Ní gá duit rud éigin a chur agus ansin a athordófar, gach uair an rud ar fad. 399 00:30:50,640 --> 00:30:56,770 Ná gá duit a dhéanamh a lán de a aistriú de na heilimintí inmheánacha timpeall. 400 00:30:56,770 --> 00:31:02,990 Nuair a fhéachaimid ar scuaine, tú a fheiceáil go - freisin i queue.c sa chód alt seo - 401 00:31:02,990 --> 00:31:10,950 Is é an struct go atá againn a thabhairt duit i ndáiríre cosúil leis an struct gur thug muid tú do chairn. 402 00:31:10,950 --> 00:31:13,770 >> Níl aon eisceacht leis seo, agus gur eisceacht amháin 403 00:31:13,770 --> 00:31:21,700 Tá go bhfuil an slánuimhir breise ar a dtugtar an ceann, 404 00:31:21,700 --> 00:31:28,120 agus is é an ceann anseo chun taifead a choinneáil ar an barr an chuí, 405 00:31:28,120 --> 00:31:32,160 nó an chéad eilimint sa scuaine. 406 00:31:32,160 --> 00:31:37,470 Le chairn, bhí muid in ann súil a choinneáil ar an eilimint go raibh muid ar tí é a fháil, 407 00:31:37,470 --> 00:31:40,800 nó barr an chairn, ag baint úsáide as ach an méid, 408 00:31:40,800 --> 00:31:44,220 ach le scuaine, tá muid ag déileáil le taobh eile. 409 00:31:44,220 --> 00:31:49,000 Táimid ag iarraidh a tack rudaí ar ag an deireadh, ach ansin rudaí ar ais ó na tosaigh. 410 00:31:49,000 --> 00:31:54,640 Mar sin, go héifeachtach, leis an ceann, ní mór dúinn an t-innéacs ar an tús an scuaine, 411 00:31:54,640 --> 00:31:58,920 agus tugann sé an méid dúinn an t-innéacs ar an deireadh na scuaine 412 00:31:58,920 --> 00:32:03,730 ionas gur féidir linn rudaí a aisghabháil ó an ceann agus rudaí a chur ar aghaidh go dtí an eireaball. 413 00:32:03,730 --> 00:32:06,890 De bharr an méid leis an chairn, bhí muid ach ag déileáil riamh le barr an chairn. 414 00:32:06,890 --> 00:32:08,900 Táimid riamh go raibh rochtain a fháil ar bun an chairn. 415 00:32:08,900 --> 00:32:12,220 Chuir muid ach rudaí go dtí barr agus rudaí a thóg as an barr 416 00:32:12,220 --> 00:32:17,470 mar sin ní raibh muid gá réimse sin sa bhreis taobh istigh dár struct. 417 00:32:17,470 --> 00:32:20,590 An dhéanamh go chiall go ginearálta? 418 00:32:20,590 --> 00:32:27,670 Gach ceart. Sea, Charlotte? [Charlotte, dothuigthe] 419 00:32:27,670 --> 00:32:32,660 [Hardison] Sin ceist mhór, agus go raibh ceann a tháinig suas i léacht. 420 00:32:32,660 --> 00:32:36,290 B'fhéidir go mbeidh ag siúl trí roinnt samplaí a léiriú cén fáth 421 00:32:36,290 --> 00:32:41,400 nach bhfuil muid ag iarraidh úsáid a bhaint strings [0] mar cheann an scuaine. 422 00:32:41,400 --> 00:32:46,770 >> Mar sin a shamhlú go bhfuil muid ár scuaine, táimid ag dul a ghlaoch air scuaine. 423 00:32:46,770 --> 00:32:49,210 Ag an tús, nuair a againn instantiated ach é, 424 00:32:49,210 --> 00:32:53,330 nuair atá againn dhearbhú ach é, ní mór dúinn initialized rud ar bith. 425 00:32:53,330 --> 00:32:56,790 Tá sé ar fad truflais. Mar sin, ar ndóigh, ba mhaith linn a dhéanamh cinnte go bhfuil muid thúsú 426 00:32:56,790 --> 00:33:00,950 araon an méid agus na réimsí ceann a bheith 0, rud réasúnta. 427 00:33:00,950 --> 00:33:05,770 D'fhéadfadh muid dul freisin ar aghaidh agus nialasach na heilimintí in ár scuaine amach. 428 00:33:05,770 --> 00:33:09,930 Agus seo a dhéanamh oiriúnach léaráid, faoi deara go bhfuil anois is féidir ár n-scuaine a shealbhú ach trí ghné; 429 00:33:09,930 --> 00:33:13,150 cé go bhféadfadh ár n-chairn shealbhú ceithre, is féidir ár scuaine a shealbhú ach trí cinn. 430 00:33:13,150 --> 00:33:18,680 Agus sin ach a dhéanamh an cuí léaráid. 431 00:33:18,680 --> 00:33:26,150 Is é an chéad rud a tharlaíonn anseo againn enqueue an teaghrán "Hi". 432 00:33:26,150 --> 00:33:30,380 Agus díreach mar a rinne muid leis an chairn, rud terribly éagsúla anseo, 433 00:33:30,380 --> 00:33:39,230 caith againn ar an téad ar ar strings [0] agus incrimint ár méid faoi 1. 434 00:33:39,230 --> 00:33:42,720 Enqueue muid "beannacht", faigheann sé a chur ar. 435 00:33:42,720 --> 00:33:45,870 Mar sin, Breathnaíonn seo cosúil le Stack den chuid is mó. 436 00:33:45,870 --> 00:33:53,230 Thosaigh muid amach anseo, gné nua, eilimint nua, coimeádann méid dul suas. 437 00:33:53,230 --> 00:33:56,330 Cad a tharlaíonn ag an bpointe seo nuair is mian linn rud éigin a dequeue? 438 00:33:56,330 --> 00:34:01,280 Nuair a ba mhaith linn a dequeue, a bhfuil an ghné sin ba mhaith linn a dequeue? 439 00:34:01,280 --> 00:34:04,110 [Basil] Teaghráin [0]. >> Nialais. Go díreach ceart, Basil. 440 00:34:04,110 --> 00:34:10,960 Táimid ag iarraidh fáil réidh leis an teaghrán chéad, an ceann seo, "Dia duit". 441 00:34:10,960 --> 00:34:13,170 Mar sin, cad a bhí an rud eile a athrú? 442 00:34:13,170 --> 00:34:17,010 Fógra nuair a popped muid rud éigin as an chairn, d'athraigh muid ach an méid, 443 00:34:17,010 --> 00:34:22,080 ach anseo, tá muid fuair cúpla rudaí a athrú. 444 00:34:22,080 --> 00:34:27,440 Ní amháin a dhéanann an t-athrú méid, ach na hathruithe ceann. 445 00:34:27,440 --> 00:34:31,020 Tá sé seo ag dul ar ais go dtí pointe Charlotte níos luaithe: 446 00:34:31,020 --> 00:34:38,699 cén fáth a bhfuil againn an ceann chomh maith? 447 00:34:38,699 --> 00:34:42,110 An bhfuil sé ciall anois, Charlotte? Cineál >> de. 448 00:34:42,110 --> 00:34:47,500 [Hardison] Cineál? Mar sin, cad a tharla nuair a dequeued againn? 449 00:34:47,500 --> 00:34:54,340 Cad é a rinne an ceann is é sin anois suimiúil? 450 00:34:54,340 --> 00:34:56,449 [Charlotte] Oh, toisc go athraigh sé - ceart go leor. Feicim. 451 00:34:56,449 --> 00:35:02,090 Mar gheall ar an ceann - ina bhfuil an ceann atá dírithe ar athruithe i dtéarmaí an suíomh. 452 00:35:02,090 --> 00:35:07,200 Tá sé a thuilleadh i gcónaí an ceann innéacs nialas. >> Yeah, go díreach. 453 00:35:07,200 --> 00:35:17,660 Cad a tharla a bhí más rud é dequeueing an eilimint ard 454 00:35:17,660 --> 00:35:20,590 Rinneadh agus nach raibh againn sa réimse seo ceann 455 00:35:20,590 --> 00:35:26,880 toisc go raibh ag iarraidh againn i gcónaí leis an teaghrán ag 0 innéacs ceann dár scuaine, 456 00:35:26,880 --> 00:35:30,170 ansin ba mhaith linn a athrú an chuid eile den scuaine síos. 457 00:35:30,170 --> 00:35:36,010 Ba mhaith linn a athrú "beannacht" ó ó strings [1] an teaghráin [0]. 458 00:35:36,010 --> 00:35:38,760 Agus strings [2] síos go dtí strings [1]. 459 00:35:38,760 --> 00:35:43,050 Agus ba mhaith linn sin a dhéanamh le haghaidh liosta iomlán na n-eilimintí, 460 00:35:43,050 --> 00:35:45,110 an raon iomlán na n-eilimintí. 461 00:35:45,110 --> 00:35:50,490 Agus nuair a tá ag éirí linn seo a dhéanamh le eagar, faigheann sin i ndáiríre costasach. 462 00:35:50,490 --> 00:35:53,340 Mar sin anseo, nach bhfuil sé le déileáil go mór. Tá muid díreach trí ghné i ár eagar. 463 00:35:53,340 --> 00:35:57,230 Ach má bhí againn le scuaine de míle eilimintí nó eilimintí milliún, 464 00:35:57,230 --> 00:36:00,060 agus ansin go léir a tobann, tús a chur muid ag déanamh a bunch de dequeue glaonna ar fad i lúb, 465 00:36:00,060 --> 00:36:03,930 rudaí ag dul i ndáiríre go mall síos mar shifts sé gach rud síos i gcónaí. 466 00:36:03,930 --> 00:36:07,320 Tá a fhios agat, athrú ag 1, athrú trí athrú 1, faoin 1, athrú ag 1. 467 00:36:07,320 --> 00:36:13,650 Ina áit sin, úsáidimid an gceann seo, tugaimid sé ar "pointeoir" cé nach bhfuil sé i ndáiríre pointeoir 468 00:36:13,650 --> 00:36:16,430 sa chiall go docht; nach bhfuil sé cineál pointeoir. 469 00:36:16,430 --> 00:36:19,410 Níl sé * o nó * ruabhric nó aon rud mar sin. 470 00:36:19,410 --> 00:36:28,930 Ach tá dírithe é nó a léiríonn ceann dár scuaine. Yeah? 471 00:36:28,930 --> 00:36:38,800 >> [Mac Léinn] Cén chaoi a dequeue a fhios a pop díreach in aice leis is cuma cad é an ceann? 472 00:36:38,800 --> 00:36:43,620 [Hardison] Cén chaoi a dequeue a fhios conas a pop amach cibé tá ag ceann? Ceart >>, yeah. 473 00:36:43,620 --> 00:36:49,050 >> Cad é a breathnú ar ach is cuma cén réimse an ceann a leagtar ar. 474 00:36:49,050 --> 00:36:52,710 Mar sin, sa chéad chás, má táimid ar dheis anseo, 475 00:36:52,710 --> 00:36:55,690 Is é ár ceann 0, innéacs 0. >> Ceart. 476 00:36:55,690 --> 00:37:00,500 [Hardison] Mar sin a deir sé ach ceart go leor, go maith, an ghné ar innéacs 0, an teaghrán "Hi", 477 00:37:00,500 --> 00:37:03,050 Is é an ghné ag ceann dár scuaine. 478 00:37:03,050 --> 00:37:05,570 Mar sin, táimid ag dul a dequeue go Guy. 479 00:37:05,570 --> 00:37:09,800 Agus beidh go bhfuil an ghné go bhfaigheann ar ais chuig an té atá ag glaoch. 480 00:37:09,800 --> 00:37:14,540 Sea, Saad? >> Mar sin, leagann an ceann go bunúsach an - áit a bhfuil tú ag dul chun innéacs é? 481 00:37:14,540 --> 00:37:17,750 Sin tús é? >> Yeah. >> Maith go leor. 482 00:37:17,750 --> 00:37:22,900 [Hardison] Sin ag éirí leis an tús nua le haghaidh ár eagar. 483 00:37:22,900 --> 00:37:28,930 Mar sin, nuair a dequeue tú rud éigin, tá gach leat a dhéanamh teacht ar an eilimint ag innéacs q.head, 484 00:37:28,930 --> 00:37:32,240 agus beidh sé go bhfuil an ghné gur mian leat a dequeue. 485 00:37:32,240 --> 00:37:34,930 Tá tú freisin chun decrement an méid. 486 00:37:34,930 --> 00:37:39,430 Beidh muid a fheiceáil i beagán nuair a fháil rudaí a bhí beagán tricky leis seo. 487 00:37:39,430 --> 00:37:46,520 Dequeue againn, agus anois, má enqueue againn arís, 488 00:37:46,520 --> 00:37:51,300 nuair a dhéanann muid enqueue? 489 00:37:51,300 --> 00:37:55,000 I gcás nach an ghné eile a théann in ár scuaine? 490 00:37:55,000 --> 00:37:57,980 Abair ba mhaith linn a enqueue an teaghrán "CS". 491 00:37:57,980 --> 00:38:02,240 Beidh Isteach a innéacs sé dul? [Mic Léinn] Teaghráin [2]. >> Dó. 492 00:38:02,240 --> 00:38:04,980 Cén fáth 2 lá agus nach 0? 493 00:38:04,980 --> 00:38:13,570 [Basil] Toisc anois tá an ceann 1, agus mar sin go bhfuil cosúil leis an tús an liosta? 494 00:38:13,570 --> 00:38:21,220 [Hardison] Ceart. Agus seasann cad é an deireadh an liosta? 495 00:38:21,220 --> 00:38:23,290 Cad a bhí ag baint úsáide as againn in iúl ar an deireadh ár scuaine? 496 00:38:23,290 --> 00:38:25,970 Is é an ceann ceann dár scuaine, tús na ár scuaine. 497 00:38:25,970 --> 00:38:29,530 Cad é an deireadh ár scuaine? [Mic Léinn] Size. >> Méid, go díreach. 498 00:38:29,530 --> 00:38:36,360 Mar sin dul ar ár n-gnéithe nua i ag méid, agus na heilimintí sin a chur orainn teacht amach amach ag ceann. 499 00:38:36,360 --> 00:38:45,390 Nuair a enqueue againn ar an ngné seo chugainn, tá muid ag chur i ag méid. 500 00:38:45,390 --> 00:38:48,530 [Mac Léinn] Sula a chuir tú go bhfuil i áfach, bhí méid 1, ceart? 501 00:38:48,530 --> 00:38:55,690 [Hardison] Ceart. Mar sin, ní leor ag méid. + Ní Méid, 1, ach ceann +. 502 00:38:55,690 --> 00:38:59,990 Mar gheall ar bhog muid gach rud ag an méid ceann. 503 00:38:59,990 --> 00:39:14,270 Mar sin anseo, anois tá muid fuair scuaine de mhéid 1 a thosaíonn ag innéacs 1. 504 00:39:14,270 --> 00:39:20,730 Is é an eireaball innéacs 2. Tá? 505 00:39:20,730 --> 00:39:25,780 >> [Mac Léinn] Cad a tharlaíonn nuair a dhéanann tú dequeue strings [0], agus an teaghráin 'sliotán i gcuimhne 506 00:39:25,780 --> 00:39:29,420 a fháil fholmhú go díreach, go bunúsach, nó díreach dearmad? 507 00:39:29,420 --> 00:39:34,700 [Hardison] Yeah. Sa chiall seo, tá muid ag forgetting go díreach leo. 508 00:39:34,700 --> 00:39:42,640 Má bhí a stóráil againn cóipeanna díobh le haghaidh - 509 00:39:42,640 --> 00:39:46,310 Beidh struchtúir sonraí a stóráil go leor go minic a gcuid cóipeanna féin ar na gnéithe 510 00:39:46,310 --> 00:39:51,760 ionas go ndéanfaidh an duine a bhainistiú an struchtúr sonraí a bheith buartha 511 00:39:51,760 --> 00:39:53,650 faoin áit a bhfuil sin go léir leideanna ag dul. 512 00:39:53,650 --> 00:39:56,000 Tá an struchtúr sonraí ar gach rud i seilbh, ar aghaidh go dtí na cóipeanna, 513 00:39:56,000 --> 00:39:59,580 a dhéanamh cinnte go leanann gach rud i gceart. 514 00:39:59,580 --> 00:40:03,140 Mar sin féin, sa chás seo, tá na struchtúir sonraí ach, ar mhaithe le simplíocht, 515 00:40:03,140 --> 00:40:05,580 nach bhfuil ag déanamh cóipeanna de rud ar bith go bhfuil muid a stóráil iontu. 516 00:40:05,580 --> 00:40:08,630 [Mac Léinn] Mar sin, seo sraith leanúnach -? >> Tá. 517 00:40:08,630 --> 00:40:14,350 Má fhéachaimid siar ar an méid a bhí an sainmhíniú an struchtúir seo, tá sé. 518 00:40:14,350 --> 00:40:19,110 Tá sé ach sraith caighdeán cosúil tá tú ag feiceáil, 519 00:40:19,110 --> 00:40:24,280 le sraith de * s Char. 520 00:40:24,280 --> 00:40:26,340 An bhfuil sin -? >> Yeah, bhí mé wondering díreach 521 00:40:26,340 --> 00:40:29,130 más rud é go mbainfidh tú ag rith sa deireadh as cuimhne, go pointe áirithe, 522 00:40:29,130 --> 00:40:32,330 má tá tú go léir na spotaí folamh i do eagar? 523 00:40:32,330 --> 00:40:36,390 [Hardison] Sea, tá go pointe maith. 524 00:40:36,390 --> 00:40:41,530 >> Má táimid ar cad a tharla anois ag an bpointe seo, 525 00:40:41,530 --> 00:40:46,350 tá muid líonadh suas ár scuaine, tá sé cosúil. 526 00:40:46,350 --> 00:40:50,390 Ach ní mór dúinn a líonadh i ndáiríre suas ár n-scuaine 527 00:40:50,390 --> 00:40:57,710 toisc go bhfuil muid scuaine go méid 2, ach tosaíonn sé ag innéacs 1, 528 00:40:57,710 --> 00:41:02,160 mar gheall ar go bhfuil ár n-pointeoir ceann. 529 00:41:02,160 --> 00:41:08,400 Cosúil bhí á rá leat, an ghné sin ag strings [0], ag innéacs 0, nach bhfuil i ndáiríre ansin. 530 00:41:08,400 --> 00:41:10,450 Níl sé i ár scuaine níos mó. 531 00:41:10,450 --> 00:41:16,460 Táimid ní raibh bodhraigh chun dul i agus é a scríobh nuair a dequeued muid é. 532 00:41:16,460 --> 00:41:18,700 Mar sin, cé tá sé cosúil againn siúl as an chuimhne, ní mór dúinn nach bhfuil i ndáiríre. 533 00:41:18,700 --> 00:41:23,270 Sin an láthair ar fáil dúinn a úsáid. 534 00:41:23,270 --> 00:41:29,310 An iompar oiriúnach, más rud é go raibh muid chun iarracht a dhéanamh agus an chéad dequeue rud éigin 535 00:41:29,310 --> 00:41:34,420 cosúil le "beannacht", a bheadh ​​pop beannacht as. 536 00:41:34,420 --> 00:41:38,460 Anois tosaíonn ár n-scuaine ag innéacs 2 agus atá ar mhéid 1. 537 00:41:38,460 --> 00:41:42,240 Agus anois má táimid iarracht a dhéanamh agus enqueue rud éigin arís, a rá 50, 538 00:41:42,240 --> 00:41:47,880 Ba chóir go 50 a théann i láthair seo ag innéacs 0 539 00:41:47,880 --> 00:41:51,270 mar tá sé fós ar fáil dúinn. Sea, Saad? 540 00:41:51,270 --> 00:41:53,630 [Saad] An bhfuil a tharlaíonn go huathoibríoch? 541 00:41:53,630 --> 00:41:56,150 [Hardison] Ní chuireann sé tarlú go leor go huathoibríoch. Tá tú a dhéanamh ar an mata 542 00:41:56,150 --> 00:42:00,380 chun é a dhéanamh ag obair, ach go bunúsach cad atá déanta againn go bhfuil againn fillte ach timpeall. 543 00:42:00,380 --> 00:42:04,070 [Saad] Agus sé ceart go leor má tá sé seo le poll i lár na sé? 544 00:42:04,070 --> 00:42:08,720 [Hardison] Tá sé más féidir linn a dhéanamh ar an mata ag obair i gceart. 545 00:42:08,720 --> 00:42:15,470 >> Agus casadh sé amach go ní go ndáiríre go crua chun a dhéanamh leis an oibreoir mod. 546 00:42:15,470 --> 00:42:20,040 Mar sin, díreach mar a rinne muid le Caesar agus an stuif rialaithe criptithe, 547 00:42:20,040 --> 00:42:25,190 ag baint úsáide as mod, is féidir linn a fháil rudaí a wrap thart agus a choinneáil ag dul 548 00:42:25,190 --> 00:42:28,090 timpeall agus timpeall agus timpeall leis an ár scuaine, 549 00:42:28,090 --> 00:42:32,180 a choinneáil go ceann pointeoir ag gluaiseacht timpeall. 550 00:42:32,180 --> 00:42:38,840 Fógra go bhfuil méid meas i gcónaí ar an líon de na gnéithe iarbhír laistigh den scuaine. 551 00:42:38,840 --> 00:42:43,110 Agus tá sé ach an pointeoir ceann a choimeádann rothaíocht tríd. 552 00:42:43,110 --> 00:42:49,660 Má táimid ar an méid a tharla anseo, má théann muid ar ais go dtí an tús, 553 00:42:49,660 --> 00:42:55,020 agus tú ag féachaint ar díreach cad a tharlaíonn leis an ceann 554 00:42:55,020 --> 00:42:58,240 nuair enqueue muid rud éigin, a tharla rud ar bith ar an ceann. 555 00:42:58,240 --> 00:43:00,970 Nuair a enqueued muid rud éigin eile, a tharla rud ar bith ar an ceann. 556 00:43:00,970 --> 00:43:04,130 Go gairid mar a dequeued muid rud éigin, téann an ceann ar bun ar cheann. 557 00:43:04,130 --> 00:43:06,600 Enqueued muid rud éigin, a tharlaíonn aon rud ar an ceann. 558 00:43:06,600 --> 00:43:11,060 Nuair a dequeue muid rud éigin, faigheann ar fad ar tobann an ceann incrimintithe. 559 00:43:11,060 --> 00:43:14,660 Nuair a enqueue muid rud éigin, a tharlaíonn aon rud ar an ceann. 560 00:43:14,660 --> 00:43:20,240 >> Cad a tharlódh ag an bpointe seo más rud é go raibh muid rud éigin a dequeue arís? 561 00:43:20,240 --> 00:43:23,240 Aon smaointe? Cad a tharlódh ar an ceann? 562 00:43:23,240 --> 00:43:27,190 Cad ba chóir a tharlóidh do na ceann 563 00:43:27,190 --> 00:43:32,990 más rud é go raibh muid chun dequeue rud éigin eile? 564 00:43:32,990 --> 00:43:35,400 An ceann ceart anois ag innéacs 2, 565 00:43:35,400 --> 00:43:38,920 rud a chiallaíonn go bhfuil ceann an scuaine strings [2]. 566 00:43:38,920 --> 00:43:44,280 [Mac Léinn] Cén tuairisceáin 0? >> Ba chóir filleadh ar 0. Ba chóir a wrap ar ais timpeall, go díreach. 567 00:43:44,280 --> 00:43:48,440 Go dtí seo, gach uair a d'iarr muid dequeue, tá muid ag a haon a chur leis an ceann, 568 00:43:48,440 --> 00:43:50,960 amháin a chur leis an ceann, ceann amháin a chur leis an ceann, ceann amháin a chur leis an ceann. 569 00:43:50,960 --> 00:43:58,400 Chomh luath agus a fhaigheann an pointeoir ceann ar an innéacs seo caite in ár réimse, 570 00:43:58,400 --> 00:44:05,650 ansin ní mór dúinn a wrap sé ar ais timpeall ar an tús, dul ar ais go dtí 0. 571 00:44:05,650 --> 00:44:09,900 [Charlotte] Cad gcinnfidh an cumas an scuaine i Stack? 572 00:44:09,900 --> 00:44:13,120 [Hardison] Sa chás seo, tá muid ach ag baint úsáide as ar tairiseach # sainithe. >> Maith go leor. 573 00:44:13,120 --> 00:44:19,590 [Hardison] I an comhad iarbhír. C, is féidir leat dul i agus muck le sé beagán 574 00:44:19,590 --> 00:44:21,710 agus é a dhéanamh chomh mór nó chomh beag agus is mian leat. 575 00:44:21,710 --> 00:44:25,310 [Charlotte] Mar sin nuair a bhíonn tú ag déanamh sé scuaine, conas a dhéanann tú a dhéanamh ar an ríomhaire a fhios 576 00:44:25,310 --> 00:44:29,120 cé chomh mór is mian leat an chairn a bheith? 577 00:44:29,120 --> 00:44:31,700 [Hardison] Sin ceist mhór. 578 00:44:31,700 --> 00:44:34,800 Tá cúpla bealaí. Is é ceann a shainmhíniú ach é suas chun tosaigh 579 00:44:34,800 --> 00:44:42,050 agus tá sé a rá seo dul chun bheith ina scuaine a bhfuil 4 eilimintí nó eilimintí 50 nó 10,000. 580 00:44:42,050 --> 00:44:45,430 Is é an bealach eile a dhéanamh cad iad na folks Eagrán hacker a dhéanamh 581 00:44:45,430 --> 00:44:52,310 agus a chruthú feidhmeanna a bheith acu do scuaine ag fás dinimiciúil mar rudaí níos mó a fháil seo a leanas isteach 582 00:44:52,310 --> 00:44:54,740 >> [Charlotte] Mar sin, chun dul leis an chéad rogha, cad error mbaineann tú úsáid 583 00:44:54,740 --> 00:44:57,830 Is é a rá leis an gclár cad é méid an scuaine? 584 00:44:57,830 --> 00:45:04,780 [Hardison] Ah. Mar sin a ligean ar a fháil amach as seo. 585 00:45:04,780 --> 00:45:12,650 Tá mé fós i stack.c anseo, mar sin tá mé ag dul díreach tar éis a scrollú suas go dtí an barr anseo. 586 00:45:12,650 --> 00:45:17,920 An féidir leat é seo a fheiceáil ar dheis anseo? Is é seo an sainmhíniú # toilleadh 10. 587 00:45:17,920 --> 00:45:24,600 Agus é seo nach mór an chomhréir ceannann céanna atá againn le haghaidh scuaine. 588 00:45:24,600 --> 00:45:28,390 Ach amháin i scuaine, tá muid fuair an réimse sin struct breise i anseo. 589 00:45:28,390 --> 00:45:32,760 [Charlotte] Ó, shíl mé an cumas i gceist an cumas an teaghrán. 590 00:45:32,760 --> 00:45:36,770 [Hardison] Ah. >> Sin é an fad uasta na bhfocal. >> Fuair ​​sé. 591 00:45:36,770 --> 00:45:41,180 Yeah. Tá an cumas anseo - tá go pointe iontach. 592 00:45:41,180 --> 00:45:44,000 Agus is é an rud go bhfuil tricky 593 00:45:44,000 --> 00:45:49,480 toisc go bhfuil an méid atá againn a dhearbhú anseo le sraith de * s Char. 594 00:45:49,480 --> 00:45:52,770 Le sraith de leideanna. 595 00:45:52,770 --> 00:45:56,690 Is é seo le sraith de carachtair. 596 00:45:56,690 --> 00:46:01,690 Is dócha cad tá tú ag féachaint nuair a tá tú ag dhearbhú do maoláin do chomhad I / O, 597 00:46:01,690 --> 00:46:06,840 nuair atá tú ag teaghráin a chruthú de láimh ar an chruach. 598 00:46:06,840 --> 00:46:09,090 Mar sin féin, cad a fuair anseo le sraith de ruabhric * s. 599 00:46:09,090 --> 00:46:13,400 Mar sin tá sé le sraith de leideanna. 600 00:46:13,400 --> 00:46:18,350 I ndáiríre, má táimid ar ais zúmáil amach agus táimid ag cad atá ar siúl anseo 601 00:46:18,350 --> 00:46:23,140 sa chur i láthair, a fheiceann tú go bhfuil na gnéithe iarbhír, na sonraí carachtar 602 00:46:23,140 --> 00:46:26,180 nach stóráil laistigh eagar féin. 603 00:46:26,180 --> 00:46:42,690 Tá Cad atá stóráilte laistigh dár sraith anseo leideanna ar na sonraí carachtar. 604 00:46:42,690 --> 00:46:52,560 Maith go leor. Mar sin, atá feicthe againn conas an méid de na scuaine díreach cosúil leis an chairn, 605 00:46:52,560 --> 00:46:58,670 an méid meas i gcónaí ar líon na n-eilimintí atá sa scuaine. 606 00:46:58,670 --> 00:47:02,720 Tar éis a dhéanamh 2 enqueues, is é an méid 2. 607 00:47:02,720 --> 00:47:07,110 Tar éis a dhéanamh ar dequeue go bhfuil an méid anois 1. 608 00:47:07,110 --> 00:47:09,330 Tar éis a dhéanamh eile enqueue Is é an méid ar ais go dtí 2. 609 00:47:09,330 --> 00:47:12,340 Mar sin, urramaíonn an méid cinnte an líon na n-eilimintí sa scuaine, 610 00:47:12,340 --> 00:47:15,580 agus ansin coimeádann an ceann amháin rothaíocht. 611 00:47:15,580 --> 00:47:20,210 Téann sé ó 0-1-2, 0-1-2, 0-1-2. 612 00:47:20,210 --> 00:47:25,620 Agus gach uair a tugaimid dequeue faigheann, an pointeoir ceann incrimintithe leis an innéacs seo chugainn. 613 00:47:25,620 --> 00:47:29,930 Agus má tá an ceann ar tí dul os a chionn, lúba sé ar ais timpeall 0. 614 00:47:29,930 --> 00:47:34,870 Sin, leis sin, is féidir linn a scríobh an fheidhm dequeue. 615 00:47:34,870 --> 00:47:40,200 Agus táimid ag dul a fhágáil ar an fheidhm enqueue chun tú guys a chur i bhfeidhm ina ionad. 616 00:47:40,200 --> 00:47:45,880 >> Nuair a dequeue muid gné amach as ár scuaine, 617 00:47:45,880 --> 00:47:55,490 cad a bhí an chéad rud a rinne Daniel nuair a thosaigh muid ag scríobh an fheidhm pop do cruacha? 618 00:47:55,490 --> 00:48:00,490 Lig dom a chloisteáil ó dhuine nach mbeidh labhartha go fóill. 619 00:48:00,490 --> 00:48:06,710 A ligean ar a fheiceáil, Saad, a dhéanann tú dearmad cad a rinne Daniel mar an chéad rud nuair a scríobh sé pop? 620 00:48:06,710 --> 00:48:08,860 [Saad] Ní raibh, go raibh sé - >> tástáil sé as rud éigin. 621 00:48:08,860 --> 00:48:12,140 [Saad] Má tá méid níos mó ná 0. >> Go díreach. 622 00:48:12,140 --> 00:48:14,390 Agus cad a bhí go tástáil? 623 00:48:14,390 --> 00:48:19,090 [Saad] Go raibh tástáil a fheiceáil má tá rud ar bith taobh istigh den eagar. 624 00:48:19,090 --> 00:48:23,210 [Hardison] Yeah. Go díreach. Mar sin, ní féidir leat pop rud ar bith amach as an chairn má tá sé folamh. 625 00:48:23,210 --> 00:48:26,510 Mar an gcéanna, ní féidir leat dequeue aon rud ó scuaine má tá sé folamh. 626 00:48:26,510 --> 00:48:30,420 Cad é an chéad rud ba chóir dúinn a dhéanamh i ár bhfeidhm dequeue anseo, é do bharúil? 627 00:48:30,420 --> 00:48:33,860 [Saad] Má tá méid níos mó ná 0? >> Yeah. 628 00:48:33,860 --> 00:48:37,710 Sa chás seo, tá mé i ndáiríre a thástáil ach a fheiceáil má tá sé 0. 629 00:48:37,710 --> 00:48:42,240 Má tá sé 0, is féidir linn ar ais null. 630 00:48:42,240 --> 00:48:45,280 Ach loighic céanna cruinn. 631 00:48:45,280 --> 00:48:49,110 Agus a ligean ar aghaidh leis seo. 632 00:48:49,110 --> 00:48:54,600 Mura bhfuil an méid 0, áit a bhfuil an ghné sin ba mhaith linn a dequeue? 633 00:48:54,600 --> 00:48:58,550 [Saad] Ag an ceann? >> Go díreach. 634 00:48:58,550 --> 00:49:01,720 Is féidir linn a tharraingt díreach amach an chéad eilimint i ár scuaine 635 00:49:01,720 --> 00:49:07,040 trí rochtain a fháil eilimint ag an ceann. 636 00:49:07,040 --> 00:49:14,630 Ní dhéanfaidh aon ní dÚsachtach. 637 00:49:14,630 --> 00:49:19,620 Tar éis sin, cad ba cheart dúinn a dhéanamh? Cad tá ag tarlú? 638 00:49:19,620 --> 00:49:23,740 Cad é an rud eile a phléamar i dequeue? 639 00:49:23,740 --> 00:49:28,130 Tá dhá rud a tharlóidh, mar gheall ar go bhfuil ár scuaine athrú. 640 00:49:28,130 --> 00:49:35,640 [Daniel] Laghdú ar an méid. >> Tá muid chun laghdú ar an méid, agus an ceann a mhéadú? Go díreach. 641 00:49:35,640 --> 00:49:40,600 Chun cur an ceann, ní féidir linn ach a mhéadú blindly an ceann, cuimhneamh orthu. 642 00:49:40,600 --> 00:49:45,080 Ní féidir linn ach a dhéanamh queue.head + +. 643 00:49:45,080 --> 00:49:51,630 Ní mór dúinn san áireamh chomh maith leis an mod ag an acmhainn. 644 00:49:51,630 --> 00:49:54,740 Agus cén fáth go bhfuil muid ag mod ag an cumas, Stella? 645 00:49:54,740 --> 00:49:58,680 [Stella] Toisc go bhfuil sé le timfhillteach. >> Go díreach. 646 00:49:58,680 --> 00:50:04,750 Mod muid an cumas toisc go bhfuil sé a wrap ar ais timpeall 0. 647 00:50:04,750 --> 00:50:07,400 Mar sin anois, ag an bpointe seo, is féidir linn a dhéanamh cad a dúirt Daniel. 648 00:50:07,400 --> 00:50:12,700 Is féidir linn a decrement an méid. 649 00:50:12,700 --> 00:50:29,170 Agus ansin is féidir linn ar ais ach an eilimint a bhí ag barr na scuaine. 650 00:50:29,170 --> 00:50:34,000 Breathnaíonn sé de chineál ar gnarly ar dtús. B'fhéidir go bhfuil ceist. Tá brón orm? 651 00:50:34,000 --> 00:50:37,260 >> [Sam] Cén fáth Tá an chéad ag barr na scuaine? I gcás nach bhfuil dul? 652 00:50:37,260 --> 00:50:42,480 [Hardison] Tagann sé as an ceathrú líne ó bhun. 653 00:50:42,480 --> 00:50:46,060 Tar éis tástáil a dhéanamh ar muid a dhéanamh cinnte go bhfuil ár n-scuaine folamh, 654 00:50:46,060 --> 00:50:54,100 táimid ag tarraingt amach * ruabhreac ar dtús, ní mór dúinn a tharraingt amach an eilimint sin tá suí ag an innéacs ceann 655 00:50:54,100 --> 00:50:58,680 ar ár raon, ar ár teaghráin >> eagar, agus glao a chéad? 656 00:50:58,680 --> 00:51:04,500 [Hardison] Agus tugaimid dtús. Yeah. 657 00:51:04,500 --> 00:51:09,850 Just a leanúint suas ar sin, cén fáth a cheapann tú a bhí againn a dhéanamh? 658 00:51:09,850 --> 00:51:18,270 [Sam] gach gcéad ag filleadh go díreach q.strings [q.head]? >> Yeah. 659 00:51:18,270 --> 00:51:23,830 >> Mar gheall ar táimid ag déanamh an athrú ar an q.head leis an bhfeidhm mod, 660 00:51:23,830 --> 00:51:27,810 agus níl aon bhealach chun é sin a dhéanamh laistigh de líne fillte freisin. 661 00:51:27,810 --> 00:51:31,640 [Hardison] díreach. Tá tú ar an láthair ar. Sam tá láthair go hiomlán ar. 662 00:51:31,640 --> 00:51:36,800 An chúis a bhí againn a tharraingt amach an chéad eilimint i ár scuaine agus é a stóráil i athróg 663 00:51:36,800 --> 00:51:43,030 mar gheall ar líne seo áit a raibh q.head againn ach, 664 00:51:43,030 --> 00:51:47,030 níl nach bhfuil an t-oibreoir mod i rud éigin gur féidir linn a dhéanamh 665 00:51:47,030 --> 00:51:51,230 agus tá sé i bhfeidhm ar an ceann gan - ar líne amháin. 666 00:51:51,230 --> 00:51:54,480 Mar sin, ní mór dúinn i ndáiríre a tharraingt amach an chéad eilimint, a choigeartú agus ansin an ceann, 667 00:51:54,480 --> 00:52:00,430 i dtaithí ar an méid, agus ansin an eilimint sin ceirteacha tarraingthe amach againn ar ais. 668 00:52:00,430 --> 00:52:02,680 Agus is é an rud go beidh orainn a fheiceann teacht suas níos déanaí le 669 00:52:02,680 --> 00:52:04,920 liostaí nasctha, mar a imríonn muid timpeall leo. 670 00:52:04,920 --> 00:52:08,410 Is minic nuair a bhíonn tú freeing nó a dhiúscairt liostaí nasctha 671 00:52:08,410 --> 00:52:13,500 is gá duit cuimhneamh ar an eilimint seo chugainn, an pointeoir eile den liosta nasctha 672 00:52:13,500 --> 00:52:16,330 roimh dhiúscairt an ceann reatha. 673 00:52:16,330 --> 00:52:23,580 Mar gheall ar shlí eile a chaitheann tú ar shiúl an t-eolas ar cad atá fágtha ar an liosta. 674 00:52:23,580 --> 00:52:34,160 Anois, má théann tú le do fearas, a osclaíonn tú suas queue.c--x as seo. 675 00:52:34,160 --> 00:52:39,390 Mar sin má oscailt mé suas queue.c, lig dom súmáil isteach i anseo, 676 00:52:39,390 --> 00:52:44,970 Feicfidh tú a fheiceáil go bhfuil tú comhad den chineál céanna-lorg. 677 00:52:44,970 --> 00:52:49,200 Similar-lorg comhad leis an méid a bhí againn níos luaithe le stack.c. 678 00:52:49,200 --> 00:52:54,690 Táimid iontach fuair ár struct do scuaine a shainmhínítear díreach mar a chonaic muid ar na sleamhnáin. 679 00:52:54,690 --> 00:52:59,870 >> Tá ár n-fheidhm enqueue atá le déanamh agat. 680 00:52:59,870 --> 00:53:04,340 Agus ní mór dúinn an fheidhm dequeue anseo. 681 00:53:04,340 --> 00:53:06,870 Is é an fheidhm dequeue sa chomhad unimplemented, 682 00:53:06,870 --> 00:53:13,230 ach beidh mé é a chur suas ar ais ar an PowerPoint ionas gur féidir leat cineál sé isteach, más rud é gur mhaith leat. 683 00:53:13,230 --> 00:53:16,690 Mar sin, don chéad 5 nóiméad seo chugainn nó mar sin, tá tú guys ag obair ar enqueue 684 00:53:16,690 --> 00:53:22,570 a bhfuil beagnach díreach os coinne na dequeue. 685 00:53:22,570 --> 00:53:29,560 Ní gá duit ceann a choigeartú nuair a bhíonn tú enqueueing, ach cad a dhéanann tú a choigeartú? 686 00:53:29,560 --> 00:53:38,920 Méid. Mar sin, nuair a dhéanann tú enqueue tréimhsí, an ceann untouched faigheann, an méid a athrú. 687 00:53:38,920 --> 00:53:46,920 Ach a thógann sé le beagán de - beidh ort a imirt ar fud leis an mod 688 00:53:46,920 --> 00:53:57,560 chun an figiúr amach go díreach cad ba chóir innéacs an ghné nua seo a leanas ag. 689 00:53:57,560 --> 00:54:03,080 Mar sin, beidh mé a thabhairt guys tú beagán, a chur dequeue suas ar ais ar an sleamhnán, 690 00:54:03,080 --> 00:54:05,200 agus mar atá tú guys ceisteanna agat, shout amach iad ionas gur féidir linn 691 00:54:05,200 --> 00:54:09,220 ar fad caint mar gheall orthu mar ghrúpa. 692 00:54:09,220 --> 00:54:13,960 Chomh maith leis sin, leis an méid leat don't - nuair leat a choigeartú an méid, is féidir leat i gcónaí díreach - 693 00:54:13,960 --> 00:54:18,720 gá duit a mod an méid riamh? [Daniel] Uimh >> Ní gá duit a mod ar mhéid, ar dheis. 694 00:54:18,720 --> 00:54:24,260 Toisc go mbeidh an méid i gcónaí, más rud é you're - ag glacadh leis go bhfuil tú rudaí a bhainistiú go cuí, 695 00:54:24,260 --> 00:54:30,840 Beidh an méid a bheith i gcónaí idir 0 agus 3. 696 00:54:30,840 --> 00:54:38,680 Cá bhfuil tú a mod nuair a bhíonn tú ag déanamh enqueue? 697 00:54:38,680 --> 00:54:41,060 [Mac Léinn] I le haghaidh an ceann. >> Ach amháin le haghaidh an ceann, go díreach. 698 00:54:41,060 --> 00:54:44,620 Agus cén fáth a bhfuil tú a mod ar chor ar bith i enqueue? 699 00:54:44,620 --> 00:54:48,830 Nuair a bhíonn staid ina gur mhaith leat a mod? 700 00:54:48,830 --> 00:54:53,630 [Mac Léinn] Má tá tú rudaí ag spásanna, cosúil le spásanna ag 1 agus 2, 701 00:54:53,630 --> 00:54:55,950 agus ansin is gá duit rud éigin a chur ag 0. 702 00:54:55,950 --> 00:55:02,570 [Hardison] Yeah, go díreach. Mar sin, má tá do phointeoir ceann ag deireadh an-, 703 00:55:02,570 --> 00:55:14,210 nó má tá do méid móide do cheann níos mó é, nó in áit, ag dul a Timfhilleadh ar fud an scuaine. 704 00:55:14,210 --> 00:55:17,830 >> Mar sin, sa staid seo go atá againn fuair suas anseo ar an sleamhnán ceart anois, 705 00:55:17,830 --> 00:55:24,370 más mian liom rud éigin a enqueue ceart anois, 706 00:55:24,370 --> 00:55:31,110 ba mhaith linn rud éigin a enqueue ag innéacs 0. 707 00:55:31,110 --> 00:55:35,450 Mar sin, má fhéachann tú ar áit a dtéann an 50, agus glaoim enqueue 50, 708 00:55:35,450 --> 00:55:40,840 Téann sé síos ansin ag bun an leathanaigh. Téann sé i 0 innéacs. 709 00:55:40,840 --> 00:55:44,160 Tagann sé in ionad an 'hi' go raibh dequeued cheana féin. 710 00:55:44,160 --> 00:55:46,210 [Daniel] Ná tú cúram a ghlacadh de sin i dequeue cheana féin? 711 00:55:46,210 --> 00:55:50,550 Cén fáth a dhéanann sé aon rud a dhéanamh leis an ceann i enqueue? 712 00:55:50,550 --> 00:55:55,770 [Hardison] Oh, ionas nach bhfuil tú ag athrú an ceann, brón orm. 713 00:55:55,770 --> 00:56:02,310 Ach caithfidh tú a úsáid an t-oibreoir mod nuair a bhíonn tú rochtain a fháil ar 714 00:56:02,310 --> 00:56:04,250 an ghné gur mian leat a enqueue nuair a bhíonn tú rochtain a fháil ar 715 00:56:04,250 --> 00:56:06,960 an ghné eile i do scuaine. 716 00:56:06,960 --> 00:56:10,960 [Basil] Ní raibh mé é sin a dhéanamh, agus fuair mé "rath" ar ann. 717 00:56:10,960 --> 00:56:13,370 [Daniel] Oh, tuigim cad tá tú ag rá. 718 00:56:13,370 --> 00:56:16,240 [Hardison] didn't sin, tá tú - a rinne tú díreach ag q.size? 719 00:56:16,240 --> 00:56:20,670 [Basil] Yeah. Athraigh mé díreach tar thaobh, ní raibh mé aon rud a dhéanamh leis an ceann. 720 00:56:20,670 --> 00:56:24,300 [Hardison] Ní gá duit iarbhír a athshocrú an ceann a bheith rud ar bith, 721 00:56:24,300 --> 00:56:31,650 ach nuair a innéacs tú isteach an eagar teaghráin, 722 00:56:31,650 --> 00:56:39,500 tá tú i ndáiríre chun dul ar aghaidh agus a ríomh nuair atá an ghné seo chugainn, 723 00:56:39,500 --> 00:56:44,230 mar gheall ar withe an chairn, bhí an ghné seo chugainn i do Stack i gcónaí 724 00:56:44,230 --> 00:56:48,740 ag an t-innéacs a fhreagraíonn do na méid. 725 00:56:48,740 --> 00:56:55,850 Má táimid ar ais ar bun ag ár n-fheidhm a bhrú Stack, 726 00:56:55,850 --> 00:57:03,100 d'fhéadfadh muid a plunk i gcónaí in ár gné nua ar dheis ag méid innéacs. 727 00:57:03,100 --> 00:57:06,710 De bharr an méid leis an scuaine, ní féidir linn é sin a dhéanamh 728 00:57:06,710 --> 00:57:10,340 mar má táimid ag an staid seo, 729 00:57:10,340 --> 00:57:18,130 más rud é go enqueued againn go mbeadh 50 ár n-teaghrán nua téigh ar dheis ag strings [1] 730 00:57:18,130 --> 00:57:20,540 nach bhfuil muid ag iarraidh a dhéanamh. 731 00:57:20,540 --> 00:57:41,200 Ba mhaith linn go mbeadh an teaghrán nua dul ar innéacs 0. 732 00:57:41,200 --> 00:57:44,320 >> An bhfuil aon duine - yes? [Mac Léinn] Tá mé ceist, ach nach bhfuil sé i ndáiríre a bhaineann leo. 733 00:57:44,320 --> 00:57:48,160 Cad a chiallaíonn sé nuair a iarrann duine éigin ach rud éigin cosúil le pointeoir pred? 734 00:57:48,160 --> 00:57:51,260 Cad é an t-ainm gearr do? Tá a fhios agam tá sé ach ainm. 735 00:57:51,260 --> 00:57:59,110 [Hardison] pointeoir Pred? A ligean ar a fheiceáil. Cén comhthéacs? 736 00:57:59,110 --> 00:58:01,790 [Mac Léinn] Bhí sé don chur isteach. Is féidir liom a iarraidh ort níos déanaí más mian leat 737 00:58:01,790 --> 00:58:03,920 toisc nach bhfuil sé i ndáiríre a bhaineann, ach tá mé díreach tar éis - 738 00:58:03,920 --> 00:58:07,300 [Hardison] Ó cód isteach David ó léacht? 739 00:58:07,300 --> 00:58:10,860 Is féidir linn a tharraingt go raibh suas agus labhairt faoi sin. 740 00:58:10,860 --> 00:58:15,550 Beidh muid labhairt faoi sin chugainn, nuair a fhaigheann muid do liostaí nasctha. 741 00:58:15,550 --> 00:58:21,440 >> Mar sin a ligean i ndáiríre go tapa breathnú ar cad Breathnaíonn an fheidhm enqueue mhaith. 742 00:58:21,440 --> 00:58:26,530 Cad é an chéad rud a rinne daoine a dhéanamh i do líne enqueue? Isteach sa scuaine? 743 00:58:26,530 --> 00:58:29,960 Cosúil le cad a rinne tú do Stack brú. 744 00:58:29,960 --> 00:58:32,080 Cad a rinne tú, Stella? 745 00:58:32,080 --> 00:58:35,050 [Stella, dothuigthe] 746 00:58:35,050 --> 00:58:45,700 [Hardison] díreach. Más rud é (q.size == CUMAS) - 747 00:58:45,700 --> 00:58:54,720 Is gá dom a chur ar mo braces san áit cheart - ar ais bréagach. 748 00:58:54,720 --> 00:59:01,370 Zoom i beagán. Maith go leor. 749 00:59:01,370 --> 00:59:03,800 Tá Anois, cad é an chéad rud eile a bhí againn a dhéanamh? 750 00:59:03,800 --> 00:59:11,370 Díreach cosúil leis an chairn, agus a cuireadh isteach ag an áit cheart. 751 00:59:11,370 --> 00:59:16,010 Agus mar sin cad a bhí an áit ceart a chur isteach go? 752 00:59:16,010 --> 00:59:23,170 Leis an chairn a bhí sé méid innéacs, leis an nach bhfuil sé go leor sin. 753 00:59:23,170 --> 00:59:30,210 [Daniel] Tá mé q.head--nó - q.strings >>? >> Yeah. 754 00:59:30,210 --> 00:59:40,470 q.strings [q.head + q.size mod CUMAS]? 755 00:59:40,470 --> 00:59:42,740 [Hardison] Ba mhaith linn is dócha go lúibíní a chur timpeall 756 00:59:42,740 --> 00:59:48,830 ionas go bhfuil muid ag dul ar an tosaíocht is cuí agus mar sin go cleart do gach duine. 757 00:59:48,830 --> 00:59:55,800 Agus atá leagtha go cothrom? >> A str? >> A str. Great. 758 00:59:55,800 --> 01:00:00,160 Agus anois cad é an rud deireanach go bhfuil muid a dhéanamh? 759 01:00:00,160 --> 01:00:06,780 Díreach mar a rinne muid i chairn. >> Incrimint an méid? >> Incrimint an méid. 760 01:00:06,780 --> 01:00:13,830 Boom. Agus ansin, ós rud é an cód tosaithe ar ais ach bréagach trí mhainneachtain, 761 01:00:13,830 --> 01:00:27,460 ba mhaith linn seo a athrú go fíor má théann gach trí agus gach a théann go maith. 762 01:00:27,460 --> 01:00:33,050 Gach ceart. Sin go leor eolais ar fáil do ailt. 763 01:00:33,050 --> 01:00:39,480 Níl muid go leor os a chionn. Is mian linn a labhairt i ndáiríre go tapa ar ina n-aonar-nasctha liostaí. 764 01:00:39,480 --> 01:00:44,010 Feicfidh mé seo a chur ar bun ionas gur féidir linn dul ar ais air níos déanaí. 765 01:00:44,010 --> 01:00:50,850 Ach a ligean ar dul ar ais go dtí ár láthair le haghaidh ach cúpla níos mó sleamhnáin. 766 01:00:50,850 --> 01:00:53,790 Mar sin, tá enqueue TODO, anois againn déanta air. 767 01:00:53,790 --> 01:00:57,430 >> Anois, a ligean ar ghlacadh le breathnú ar ina n-aonar-nasctha liostaí. 768 01:00:57,430 --> 01:01:00,040 Labhair muid faoi na níos mó le beagán i léacht. 769 01:01:00,040 --> 01:01:02,540 Cé mhéad de tú guys chonaic an taispeántas nuair a bhí againn le daoine 770 01:01:02,540 --> 01:01:08,220 awkwardly dírithe ar gach uimhreacha eile agus gabháltas? >> Bhí mé i sin. 771 01:01:08,220 --> 01:01:16,620 >> Cad a cheapann tú guys? An raibh sin, tá súil againn go demystify na beagán beag? 772 01:01:16,620 --> 01:01:25,990 Le liosta, casadh sé amach go muid ag déileáil leis an gcineál sin táimid ag dul chun glaoch ar nód. 773 01:01:25,990 --> 01:01:32,520 De bharr an méid leis an scuaine agus an chairn a bhí againn structs gur mhaith linn a ghlaoch scuaine i chairn, 774 01:01:32,520 --> 01:01:34,860 bhí againn na scuaine nua i gcineálacha Stack, 775 01:01:34,860 --> 01:01:39,240 anseo tá liosta i ndáiríre déanta suas díreach a bunch de nóid. 776 01:01:39,240 --> 01:01:45,920 Ar an mbealach céanna go bhfuil teaghráin ach a bunch de carachtair lined suas go léir in aice le gach eile. 777 01:01:45,920 --> 01:01:50,650 Tá liosta nasctha ach nód agus ceann eile nód agus ceann eile nód agus ceann eile nód. 778 01:01:50,650 --> 01:01:55,080 Agus seachas Adaimh gach nód le chéile agus iad a stóráil contiguously 779 01:01:55,080 --> 01:01:58,090 gach ceart aice le gach eile i gcuimhne, 780 01:01:58,090 --> 01:02:04,470 a bhfuil an pointeoir eile ligeann dúinn a stóráil na nóid cibé áit, go randamach. 781 01:02:04,470 --> 01:02:10,500 Agus ansin cineál na sreinge iad go léir le chéile a chur in iúl ó cheann go chéile. 782 01:02:10,500 --> 01:02:15,850 >> Agus cad a bhí an buntáiste mór go raibh an níos mó ná eagar? 783 01:02:15,850 --> 01:02:21,680 Thar gach rud a stóráil contiguously bhfostú díreach in aice le gach eile? 784 01:02:21,680 --> 01:02:24,190 Cuimhin leat? Yeah? >> Leithdháileadh cuimhne Dinimiciúla? 785 01:02:24,190 --> 01:02:27,220 >> Leithdháileadh cuimhne Dinimiciúla i cén chiall? 786 01:02:27,220 --> 01:02:31,780 [Mac Léinn] I gur féidir leat a choinneáil ag déanamh níos mó é agus ní gá duit chun gluaiseacht do eagar ar fad? 787 01:02:31,780 --> 01:02:40,940 [Hardison] díreach. Mar sin, le sraith, nuair is mian leat a chur ina ghné nua isteach sa lár na sé, 788 01:02:40,940 --> 01:02:45,320 tá tú gach rud a athrú spás a dhéanamh. 789 01:02:45,320 --> 01:02:47,880 Agus mar a labhair muid faoi leis an scuaine, 790 01:02:47,880 --> 01:02:50,080 sin an fáth a choinneáil orainn go pointeoir ceann, 791 01:02:50,080 --> 01:02:52,050 ionas nach bhfuil muid ag athrú go seasta rudaí. 792 01:02:52,050 --> 01:02:54,520 Toisc go bhfaigheann daor má tá tú bhí sraith mór 793 01:02:54,520 --> 01:02:57,130 agus atá tú a dhéanamh i gcónaí ar na insertions randamach. 794 01:02:57,130 --> 01:03:00,820 De bharr an méid le liosta, tá gach leat a dhéanamh le caith sé ar nód nua, 795 01:03:00,820 --> 01:03:06,330 i dtaithí ar an leideanna, agus tú ag déanamh. 796 01:03:06,330 --> 01:03:10,940 Cad Sucks faoi seo? 797 01:03:10,940 --> 01:03:16,830 Chomh maith as an bhfíric go bhfuil nach bhfuil sé chomh furasta a bheith ag obair le mar eagar? Yeah? 798 01:03:16,830 --> 01:03:22,980 [Daniel] Bhuel, buille faoi thuairim mé tá sé i bhfad níos deacra rochtain a fháil ar ghné ar leith ar an liosta nasctha? 799 01:03:22,980 --> 01:03:30,470 [Hardison] Ní féidir leat léim díreach eilimint treallach i lár do liosta nasctha. 800 01:03:30,470 --> 01:03:33,800 Cén chaoi a bhfuil tú chun é a dhéanamh áit? >> Tá tú chun céim tríd an rud ar fad. 801 01:03:33,800 --> 01:03:35,660 [Hardison] Yeah. Tá tú dul tríd amháin ag an am, ceann amháin ag an am. 802 01:03:35,660 --> 01:03:38,480 Tá sé ina ollmhór - tá sé ina pian. 803 01:03:38,480 --> 01:03:41,550 Cad é an ceann eile - níl ceann eile downfall seo. 804 01:03:41,550 --> 01:03:45,340 [Basil] Ní féidir leat dul ar aghaidh agus ar gcúl? Tá tú le dul aon treo? 805 01:03:45,340 --> 01:03:48,570 [Hardison] Yeah. Mar sin, conas is féidir linn a réiteach go, uaireanta? 806 01:03:48,570 --> 01:03:53,370 [Basil]-nasctha doubly liostaí? >> Go díreach. Tá liostaí-nasctha doubly. 807 01:03:53,370 --> 01:03:55,540 Tá - tá brón orainn? 808 01:03:55,540 --> 01:03:57,620 >> [Sam] An é sin mar an gcéanna ag baint úsáide as an rud pred go - 809 01:03:57,620 --> 01:04:01,090 Cuimhne mé díreach tar éis é nach bhfuil an méid an rud pred do? 810 01:04:01,090 --> 01:04:05,850 Nach bhfuil i idir doubly agus ina n-aonar? 811 01:04:05,850 --> 01:04:10,020 Cuma [Hardison] Let ag cad é go díreach a bhí á dhéanamh aige. 812 01:04:10,020 --> 01:04:15,760 Mar sin anseo a théann muid. Seo é an cód liosta. 813 01:04:15,760 --> 01:04:25,620 Anseo atá againn predptr, i anseo. An é seo cad a bhí tú ag caint faoi? 814 01:04:25,620 --> 01:04:30,750 Mar sin, ba é seo - tá sé ag freeing liosta agus tá sé ag iarraidh le pointeoir a stóráil leis. 815 01:04:30,750 --> 01:04:35,000 Ní hé seo an doubly, ina n-aonar nasctha-liostaí. 816 01:04:35,000 --> 01:04:40,090 Is féidir linn labhairt níos mó faoi seo níos déanaí toisc go bhfuil an caint faoi freeing an liosta 817 01:04:40,090 --> 01:04:42,900 agus ba mhaith liom a thaispeáint roinnt rudaí eile ar dtús. 818 01:04:42,900 --> 01:04:51,480 ach tá sé ach - tá sé ag cuimhneamh ar an luach PTR 819 01:04:51,480 --> 01:04:54,170 [Mac Léinn] Ó, tá sé pointeoir roimhe seo? >> Yeah. 820 01:04:54,170 --> 01:05:04,070 Ionas gur féidir linn incrimint ansin PTR féin roimh saor in aisce againn ansin cad é predptr. 821 01:05:04,070 --> 01:05:09,130 Toisc nach féidir linn a PTR saor in aisce agus ansin glaoch PTR = PTR eile, ceart? 822 01:05:09,130 --> 01:05:11,260 Bheadh ​​sé sin dona. 823 01:05:11,260 --> 01:05:20,940 Mar sin a ligean ar féach, ar ais go dtí an Guy. 824 01:05:20,940 --> 01:05:23,900 >> Is é an rud eile dona faoi liostaí sin ná cé go bhfuil eagar 825 01:05:23,900 --> 01:05:26,520 ní mór dúinn ach go léir na heilimintí Cruachta iad féin in aice le gach eile, 826 01:05:26,520 --> 01:05:29,050 anseo dúinn a tugadh isteach chomh maith leis an pointeoir. 827 01:05:29,050 --> 01:05:34,060 Mar sin, tá smután breise cuimhne go bhfuil muid ag úsáid a bhaint as 828 01:05:34,060 --> 01:05:37,910 do gach gné sin tá muid ag a stóráil i ár liosta. 829 01:05:37,910 --> 01:05:40,030 Faighimid solúbthacht, ach a thagann sé ar chostas. 830 01:05:40,030 --> 01:05:42,230 Tagann sé leis an gcostas am, 831 01:05:42,230 --> 01:05:45,270 agus a thagann sé leis an gcostas cuimhne freisin. 832 01:05:45,270 --> 01:05:47,800 Am sa chiall go bhfuil muid anois dul trí gach eilimint sa eagar 833 01:05:47,800 --> 01:05:58,670 chun teacht ar an ceann ag innéacs 10, nó go mbeadh a bheith innéacs 10 in eagar. 834 01:05:58,670 --> 01:06:01,230 >> Díreach go tapa i ndáiríre, nuair a léaráid muid amach na liostaí seo, 835 01:06:01,230 --> 01:06:05,980 de ghnáth atá againn ar cheann an liosta nó an pointeoir chéad liosta 836 01:06:05,980 --> 01:06:08,010 agus faoi deara go bhfuil an pointeoir fíor. 837 01:06:08,010 --> 01:06:11,100 Tá sé díreach 4 bytes. Níl sé nód iarbhír féin. 838 01:06:11,100 --> 01:06:17,120 Mar sin, a fheiceann tú nach bhfuil aon luach slánuimhir ann, ní pointeoir eile ann. 839 01:06:17,120 --> 01:06:20,790 Tá sé literally ach pointeoir. 840 01:06:20,790 --> 01:06:23,550 Tá sé seo ag dul a chur in iúl rud éigin go bhfuil struct nód iarbhír. 841 01:06:23,550 --> 01:06:28,480 [Sam] A pointeoir ar a dtugtar nód? >> Is é seo an - uimh. Is é seo an pointeoir le rud éigin de nód chineál. 842 01:06:28,480 --> 01:06:32,540 Tá sé pointeoir a struct nód. >> Oh, maith go leor. 843 01:06:32,540 --> 01:06:36,870 Léaráid maidir leis an gcód chlé, ar dheis. 844 01:06:36,870 --> 01:06:42,190 Is féidir linn é a shocrú chun margadh saothair, a bhfuil ar bhealach maith le tosú. 845 01:06:42,190 --> 01:06:49,850 Nuair a bheidh léaráid tú é, a scríobh tú ceachtar é mar null nó a chuir tú ar líne tríd mar sin. 846 01:06:49,850 --> 01:06:53,910 >> Ceann de na bealaí is éasca a bheith ag obair le liostaí, 847 01:06:53,910 --> 01:06:57,430 agus iarraimid a dhéanann tú an dá cuir i gceangal agus a fheiceáil ar na difríochtaí idir an dá, 848 01:06:57,430 --> 01:07:01,320 ach tá prepending cinnte níos éasca. 849 01:07:01,320 --> 01:07:05,790 Nuair a réamhcheangal tú, is é seo áit a bhfuil tú - nuair a bhíonn tú cuir (7), 850 01:07:05,790 --> 01:07:10,050 théann tú, agus a chruthú ar an struct nód 851 01:07:10,050 --> 01:07:13,870 agus atá leagtha duit an chéad a chur in iúl dó, mar anois, ós rud é prepended dúinn é, 852 01:07:13,870 --> 01:07:17,240 tá sé ag dul a bheith ag tús an liosta. 853 01:07:17,240 --> 01:07:22,540 Má thagann againn cuir (3), a chruthaíonn eile nód, ach anois 3 roimh an 7. 854 01:07:22,540 --> 01:07:31,130 Mar sin, táimid ag brú go bunúsach rudaí ar ár liosta. 855 01:07:31,130 --> 01:07:34,720 Anois, is féidir leat a fheiceáil go cuir, uaireanta glaoch ar dhaoine é a bhrú, 856 01:07:34,720 --> 01:07:39,600 toisc go bhfuil tú ag brú ar eilimint nua ar do liosta. 857 01:07:39,600 --> 01:07:43,270 Tá sé éasca freisin a scriosadh ag tosach liosta. 858 01:07:43,270 --> 01:07:45,650 Mar sin, beidh daoine glaoch go minic go pop. 859 01:07:45,650 --> 01:07:52,200 Agus ar an mbealach sin, is féidir leat aithris a dhéanamh ar Stack ag baint úsáide as liosta nasctha. 860 01:07:52,200 --> 01:07:57,880 Whoops. Tá brón orainn, anois táimid ag dul i iarcheangail. Anseo prepended Mar sin, táimid (7), anois táimid ag cuir (3). 861 01:07:57,880 --> 01:08:02,600 Má prepended muid rud éigin eile ar an liosta seo, más rud é prepended againn (4), 862 01:08:02,600 --> 01:08:06,540 ansin gur mhaith linn a bheith 4 agus ansin 3 agus ansin 7. 863 01:08:06,540 --> 01:08:14,220 Mar sin, ansin d'fhéadfadh muid a pop agus 4 a bhaint, a thógáil ar shiúl 3, a bhaint 7. 864 01:08:14,220 --> 01:08:16,500 Is minic an bealach níos iomasach chun smaoineamh faoi seo le iarcheangail. 865 01:08:16,500 --> 01:08:20,310 Mar sin, tá mé diagrammed amach cad a bheadh ​​sé cuma mhaith le gceangal anseo. 866 01:08:20,310 --> 01:08:23,380 , I gceangal Anseo nach bhfuil (7) breathnú ar bith éagsúla 867 01:08:23,380 --> 01:08:25,160 mar níl ach gné amháin ar an liosta. 868 01:08:25,160 --> 01:08:28,620 Agus cuireann ceangal (3) ag an deireadh. 869 01:08:28,620 --> 01:08:31,020 B'fhéidir gur féidir leat a fheiceáil ceart anois an cleas le iarcheangail 870 01:08:31,020 --> 01:08:36,600 is é sin ós rud é a fhios againn ach amháin sa chás go bhfuil an tús an liosta, 871 01:08:36,600 --> 01:08:39,450 a iarcheangal le liosta a bhfuil tú ag siúl go léir ar an mbealach tríd an liosta 872 01:08:39,450 --> 01:08:46,500 a fháil go dtí deireadh, stad, a thógáil ansin do nód agus gach rud plunk síos. 873 01:08:46,500 --> 01:08:50,590 Sreang go léir an stuif suas. 874 01:08:50,590 --> 01:08:55,170 Mar sin, le cuir, mar a sracadh muid díreach tríd seo i ndáiríre go tapa, 875 01:08:55,170 --> 01:08:58,170 nuair réamhcheangal tú chuig liosta, tá sé simplí go cothrom. 876 01:08:58,170 --> 01:09:02,960 >> A dhéanann tú do nód nua, i gceist le roinnt leithdháileadh cuimhne dinimiciúil. 877 01:09:02,960 --> 01:09:09,830 Mar sin anseo táimid ag déanamh struct nód ag baint úsáide as malloc. 878 01:09:09,830 --> 01:09:14,710 Mar sin, malloc tá muid ag baint úsáide toisc go mbainfidh go leataobh cuimhne linn le haghaidh níos déanaí 879 01:09:14,710 --> 01:09:20,350 toisc nach bhfuil muid ag iarraidh seo - ba mhaith linn an chuimhne go seasfaidh siad ar feadh i bhfad. 880 01:09:20,350 --> 01:09:25,350 Agus a fháil againn pointeoir chun an spás i gcuimhne go bhfuil leithdháilte againn ach. 881 01:09:25,350 --> 01:09:29,260 Bainimid úsáid as méid nód, ní féidir linn suim na réimsí sin. 882 01:09:29,260 --> 01:09:31,899 Ní chuirimid a ghiniúint de láimh líon na mbeart, 883 01:09:31,899 --> 01:09:39,750 ina ionad sin a úsáid againn o, ionas go mbeidh a fhios againn táimid ag dul ar an líon cuí na mbeart. 884 01:09:39,750 --> 01:09:43,660 Déanaimid cinnte a thástáil go bhfuil ár glaoch malloc éirigh. 885 01:09:43,660 --> 01:09:47,939 Is é an rud is mian leat a dhéanamh i gcoitinne. 886 01:09:47,939 --> 01:09:52,590 Ar meaisíní nua-aimseartha, nach bhfuil ag rith amach as cuimhne rud éigin go bhfuil sé éasca 887 01:09:52,590 --> 01:09:56,610 mura bhfuil tú ag leithdháileadh a ton de rudaí agus a dhéanamh ar liosta ollmhór, 888 01:09:56,610 --> 01:10:02,220 ach má tá tú ag tógáil stuif le haghaidh, abair, cosúil le iPhone nó Android, 889 01:10:02,220 --> 01:10:05,230 tú an bhfuil acmhainní cuimhne teoranta, go háirithe má tá tú ag déanamh rud éigin dian. 890 01:10:05,230 --> 01:10:08,300 Mar sin tá sé maith a fháil i gcleachtas. 891 01:10:08,300 --> 01:10:10,510 >> Fógra go bhfuil mé úsáid as feidhmeanna cúpla difriúil anseo 892 01:10:10,510 --> 01:10:12,880 go atá tú ag feiceáil go bhfuil de chineál ar nua. 893 01:10:12,880 --> 01:10:15,870 Mar sin, fprintf bhfuil díreach cosúil le printf 894 01:10:15,870 --> 01:10:21,320 ach amháin a chéad argóint go bhfuil an sruth a ba mhaith leat a phriontáil. 895 01:10:21,320 --> 01:10:23,900 Sa chás seo, ba mhaith linn a phriontáil ar an teaghrán earráid chaighdeánach 896 01:10:23,900 --> 01:10:29,410 atá difriúil ó na outstream caighdeánach. 897 01:10:29,410 --> 01:10:31,620 De réir réamhshocraithe taispeánann sé suas ar an áit chéanna. 898 01:10:31,620 --> 01:10:34,600 Priontaí sé freisin chun an teirminéal, ach is féidir leat - 899 01:10:34,600 --> 01:10:38,790 baint úsáide as na n-orduithe d'fhoghlaim tú faoi, na teicnící atreorú 900 01:10:38,790 --> 01:10:42,290 d'fhoghlaim tú faoi i físeán Tommy ar feadh 4 sraith fhadhb, is féidir tú a threorú é a 901 01:10:42,290 --> 01:10:47,900 le limistéir éagsúla; scoir, ar dheis anseo, bealaí amach do chlár. 902 01:10:47,900 --> 01:10:50,440 Tá sé go bunúsach cosúil le filleadh ó is mó, 903 01:10:50,440 --> 01:10:53,600 ach amháin linn a úsáid scoir toisc nach mbeidh anseo ar ais aon ní a dhéanamh. 904 01:10:53,600 --> 01:10:57,140 Níl muid i is mó, ní mar sin ar ais éirí as an gclár mar ba mhaith linn. 905 01:10:57,140 --> 01:11:03,020 Mar sin, úsáidimid an fheidhm scoir agus tabharfaidh sé cód earráide. 906 01:11:03,020 --> 01:11:11,890 Ansin anseo a leag muid réimse luach an nód nua, dá réimse liom a bheith comhionann le i, agus ansin dúinn sreang sé suas. 907 01:11:11,890 --> 01:11:15,530 Leagtha síos againn an nód nua pointeoir in aice le pointe chéad, 908 01:11:15,530 --> 01:11:20,460 agus ansin beidh an chéad pointe anois leis an nód nua. 909 01:11:20,460 --> 01:11:25,120 Tá na línte chéad cód, tá muid ag tógáil iarbhír an nód nua. 910 01:11:25,120 --> 01:11:27,280 Gan an dá deireanach línte na feidhme seo ach an chéad cinn. 911 01:11:27,280 --> 01:11:30,290 Is féidir leat a tharraingt i ndáiríre amach ar a chomhlíonadh, i feidhm cúntóir. 912 01:11:30,290 --> 01:11:32,560 Sin é go minic cad a dhéanfaidh mé, tá mé tharraingt amach a chomhlíonadh, 913 01:11:32,560 --> 01:11:36,040 Glaoch mé é rud éigin cosúil le nód a thógáil, 914 01:11:36,040 --> 01:11:40,410 agus coimeádann go bhfuil an fheidhm cuir beag go leor, tá sé ach 3 línte sin. 915 01:11:40,410 --> 01:11:48,710 A dhéanamh liom glaoch ar mo fheidhm nód a thógáil, agus ansin gach rud sreang mé suas. 916 01:11:48,710 --> 01:11:51,970 >> Is é an rud deireanach Ba mhaith liom a thaispeáint duit, 917 01:11:51,970 --> 01:11:54,030 agus beidh mé in iúl a dhéanann tú iarcheangail agus go léir ar do chuid féin, 918 01:11:54,030 --> 01:11:57,500 é an chaoi a iterate thar liosta. 919 01:11:57,500 --> 01:12:00,780 Tá a bunch de bhealaí éagsúla chun iterate thar liosta. 920 01:12:00,780 --> 01:12:03,140 Sa chás seo, táimid ag dul a fháil ar an fad liosta. 921 01:12:03,140 --> 01:12:06,570 Mar sin, tús a chur againn le fad = 0. 922 01:12:06,570 --> 01:12:11,580 Tá sé seo an-chosúil le scríobh strlen ar theaghrán. 923 01:12:11,580 --> 01:12:17,780 Tá sé seo cad ba mhaith liom a thaispeáint duit, seo le haghaidh lúb ar dheis anseo. 924 01:12:17,780 --> 01:12:23,530 Breathnaíonn sé kinda funky; nach bhfuil sé an gnáth slánuimhir i = 0, i 01:12:34,920 Ina áit sin tá sé ar ár n initializing athróg a bheith ar an tús an liosta. 926 01:12:34,920 --> 01:12:40,620 Agus ansin cé nach bhfuil ár n-athróg iterator Eolas faoin margadh saothair, a choinneáil orainn ag dul. 927 01:12:40,620 --> 01:12:46,340 Tá sé seo toisc, de réir an ghnáis, beidh an deireadh ar ár liosta null. 928 01:12:46,340 --> 01:12:48,770 Agus ansin chun incrimintí, seachas ag déanamh + +, 929 01:12:48,770 --> 01:12:57,010 atá comhionann le liosta nasctha de + é + n = n-> seo chugainn. 930 01:12:57,010 --> 01:13:00,410 >> Feicfidh mé in iúl duit a líonadh isteach na bearnaí anseo toisc go bhfuil muid amach as an am. 931 01:13:00,410 --> 01:13:09,300 Ach seo a choinneáil i gcuimhne agus tú ag obair ar do psets spellr. 932 01:13:09,300 --> 01:13:11,650 Liostaí Nasctha, má tá tú a chur i bhfeidhm tábla hash, 933 01:13:11,650 --> 01:13:14,010 Beidh teacht cinnte i handy an-. 934 01:13:14,010 --> 01:13:21,780 Agus beidh a bhfuil an idiom haghaidh looping níos mó ná rudaí a dhéanamh saol a lán níos éasca, tá súil againn. 935 01:13:21,780 --> 01:13:25,910 Ceisteanna ar bith, go tapa? 936 01:13:25,910 --> 01:13:28,920 [Sam] An mbeidh tú a sheoladh amach ar an SLL i gcrích agus sc? 937 01:13:28,920 --> 01:13:38,360 [Hardison] Yeah. Feicfidh mé a sheoladh amach sleamhnáin i gcrích agus Stack SLL i gcrích agus queue.cs. 938 01:13:38,360 --> 01:13:41,360 [CS50.TV]