1 00:00:00,000 --> 00:00:02,832 >> [Ag seinm ceoil] 2 00:00:02,832 --> 00:00:05,670 3 00:00:05,670 --> 00:00:08,560 >> DOUG LLOYD: OK, mar sin ag an bpointe seo i gcúrsa, 4 00:00:08,560 --> 00:00:15,300 tá muid clúdaithe a lán de na Basics of C. Tá a fhios againn go leor faoi na hathróga, eagair, 5 00:00:15,300 --> 00:00:17,610 leideanna, go léir go stuif maith. 6 00:00:17,610 --> 00:00:21,610 Glacfar iad go léir saghas tógtha i a fheiceáil mar an bunúsacha, 7 00:00:21,610 --> 00:00:23,880 ach is féidir linn a dhéanamh níos mó, ceart? 8 00:00:23,880 --> 00:00:27,930 Is féidir linn rudaí a chur le chéile le chéile ar bhealaí spéisiúla. 9 00:00:27,930 --> 00:00:31,010 >> Agus mar sin a ligean ar é sin a dhéanamh, a ligean ar tús a chur a brainse amach ar cad a thugann dúinn C, 10 00:00:31,010 --> 00:00:35,270 agus tús a chruthú ar ár sonraí féin struchtúir a úsáideann na bhfoirgneamh 11 00:00:35,270 --> 00:00:40,590 bloic le chéile rud éigin a dhéanamh i ndáiríre luachmhar, úsáideach. 12 00:00:40,590 --> 00:00:43,420 Is bealach amháin is féidir linn é seo a chun labhairt faoi bhailiúcháin. 13 00:00:43,420 --> 00:00:48,360 Mar sin, go dtí seo tá muid go raibh ar cheann de chineál sonraí Struchtúr as ionadaíocht bhailiúcháin 14 00:00:48,360 --> 00:00:51,030 de cosúil le luachanna, luachanna den chineál céanna. 15 00:00:51,030 --> 00:00:52,350 Bheadh ​​sin le sraith. 16 00:00:52,350 --> 00:00:57,020 Ní mór dúinn bailiúcháin de slánuimhreacha, nó bailiúcháin de charachtair agus mar sin de. 17 00:00:57,020 --> 00:01:00,890 >> Struchtúir shórtáil freisin ar na sonraí Struchtúr chun faisnéis a bhailiú, 18 00:01:00,890 --> 00:01:03,220 ach nach bhfuil sé do bhailiú cosúil le luachanna. 19 00:01:03,220 --> 00:01:08,090 Meascáin sé de ghnáth cineálacha éagsúla sonraí le chéile taobh istigh de bhosca amháin. 20 00:01:08,090 --> 00:01:10,750 Ach nach bhfuil sé é féin a úsáidtear chun slabhra le chéile 21 00:01:10,750 --> 00:01:16,920 nó ceangal le chéile den chineál céanna míreanna, cosúil le eagar. 22 00:01:16,920 --> 00:01:20,960 Tá Arrays mór do eilimint breathnú suas, ach chun cuimhne 23 00:01:20,960 --> 00:01:24,262 go bhfuil sé an-deacair a chur isteach i sraith, 24 00:01:24,262 --> 00:01:26,470 ach amháin má táimid a chur isteach ag an deireadh an-an eagar. 25 00:01:26,470 --> 00:01:29,730 >> Agus an sampla is fearr Tá mé do go bhfuil a chur isteach saghas. 26 00:01:29,730 --> 00:01:31,650 Má tá tú chun cuimhne ár físeán ar chur isteach a shórtáil, 27 00:01:31,650 --> 00:01:34,110 go raibh a lán de costas a bhfuil baint acu a bhfuil 28 00:01:34,110 --> 00:01:37,970 a phiocadh suas heilimintí, agus athrú orthu amach as an mbealach rud éigin a d'oirfeadh 29 00:01:37,970 --> 00:01:41,290 isteach i lár de do eagar. 30 00:01:41,290 --> 00:01:44,690 Ag fulaingt Arrays freisin ó eile fhadhb, a bhfuil dolúbthacht. 31 00:01:44,690 --> 00:01:47,150 Nuair a dearbhaímid le sraith, a fháil againn lámhaigh amháin ar sé. 32 00:01:47,150 --> 00:01:49,790 A fháil againn a rá, ba mhaith liom seo gnéithe go leor. 33 00:01:49,790 --> 00:01:51,940 D'fhéadfadh a bheith 100, d'fhéadfadh sé a bheith 1000, d'fhéadfadh sé 34 00:01:51,940 --> 00:01:55,930 a bheith x áit a bhfuil x roinnt go bhfuil an t-úsáideoir thug dúinn ag pras nó ag an ordú 35 00:01:55,930 --> 00:01:56,630 líne. 36 00:01:56,630 --> 00:01:59,905 >> Ach linn a fháil ach amháin lámhaigh ar sé, táimid ag ná a fháil a rá ansin ó, i ndáiríre mé 37 00:01:59,905 --> 00:02:04,360 ag teastáil 101, nó is gá mé x móide 20. 38 00:02:04,360 --> 00:02:07,910 Ró-dhéanach, tá muid dearbhaithe cheana féin ar an eagar, agus más mian linn a fháil 101 nó x 39 00:02:07,910 --> 00:02:12,050 móide 20, ní mór dúinn a dhearbhú le sraith difriúil ar fad, 40 00:02:12,050 --> 00:02:15,540 cóip na heilimintí na eagar os a chionn, agus ansin ní mór dúinn go leor. 41 00:02:15,540 --> 00:02:19,880 Agus cad má tá muid mícheart arís, cad más gá againn i ndáiríre 102, nó x móide 40, 42 00:02:19,880 --> 00:02:21,970 ní mór dúinn a dhéanamh arís. 43 00:02:21,970 --> 00:02:26,250 Mar sin, tá siad an-dolúbtha chun méid a athrú ár sonraí, 44 00:02:26,250 --> 00:02:29,360 ach má chéile muid le chéile roinnt de na Basics a tá muid cheana 45 00:02:29,360 --> 00:02:33,230 d'fhoghlaim siad faoi threo agus struchtúir, go háirithe ag baint úsáide as cuimhne dinimiciúil 46 00:02:33,230 --> 00:02:36,180 leithdháileadh le malloc, táimid ag Is féidir a chur ar na píosaí le chéile 47 00:02:36,180 --> 00:02:40,960 a chruthú sonraí nua structure-- ar liosta d'fhéadfadh muid say-- ina n-aonar nasctha 48 00:02:40,960 --> 00:02:45,400 a ligeann dúinn chun fás agus Laghdaigh bailiúchán de luachanna 49 00:02:45,400 --> 00:02:48,800 agus nach mbeidh orainn aon spás amú. 50 00:02:48,800 --> 00:02:53,320 >> Mar sin arís, tugaimid an smaoineamh seo, an gcoincheap sin, liosta nasctha. 51 00:02:53,320 --> 00:02:56,320 Go háirithe, i físeán seo tá muid ag caint faoi an liosta nasctha ina n-aonar, 52 00:02:56,320 --> 00:02:59,185 agus ansin físeán eile beidh muid ag caint liostaí thart nasctha doubly, a 53 00:02:59,185 --> 00:03:01,560 ach athrú ar théama anseo. 54 00:03:01,560 --> 00:03:05,200 Ach liosta nasctha ina n-aonar comhdhéanta de nóid, 55 00:03:05,200 --> 00:03:08,559 nóid bheith ach term-- teibí tá sé ach rud éigin Tá mé ag glaoch 56 00:03:08,559 --> 00:03:10,350 go bhfuil ar chineál an struchtúr, go bunúsach, tá mé? 57 00:03:10,350 --> 00:03:16,190 Just a ag dul a ghlaoch air node-- agus tá sé seo Tá beirt bhall, nó dhá réimse nód. 58 00:03:16,190 --> 00:03:20,300 Tá sé sonraí, de ghnáth ar slánuimhir, snámh carachtar, 59 00:03:20,300 --> 00:03:23,790 nó a d'fhéadfadh a bheith de chineál éigin eile sonraí go atá tú a shainmhínítear le def cineál. 60 00:03:23,790 --> 00:03:29,290 Agus tá sé ina pointeoir a nód eile den chineál céanna. 61 00:03:29,290 --> 00:03:34,710 >> Mar sin, ní mór dúinn dhá rud taobh istigh de an nód, sonraí agus pointeoir 62 00:03:34,710 --> 00:03:36,380 go nód eile. 63 00:03:36,380 --> 00:03:39,370 Agus má thosaíonn tú a shamhlú seo, is féidir leat a smaoineamh air 64 00:03:39,370 --> 00:03:42,280 cosúil le slabhra de nóid sin bhfuil baint le chéile. 65 00:03:42,280 --> 00:03:45,070 Tá an chéad nód, sé Tá sonraí, agus pointeoir 66 00:03:45,070 --> 00:03:49,110 go dtí an dara nód, ina bhfuil sonraí, agus pointeoir chuig an tríú nód. 67 00:03:49,110 --> 00:03:52,940 Agus mar sin go bhfuil an fáth tugaimid sé liosta nasctha, tá siad nasctha le chéile. 68 00:03:52,940 --> 00:03:56,070 >> Cad a dhéanann an speisialta Struchtúr nód cuma mhaith? 69 00:03:56,070 --> 00:04:01,120 Bhuel, má tá tú chun cuimhne as ár físeán ar shainmhíniú cineálacha saincheaptha, le cineál def, 70 00:04:01,120 --> 00:04:05,400 is féidir linn a shainiú structure-- agus cineál struchtúr shainiú mar seo. 71 00:04:05,400 --> 00:04:11,240 tyepdef sllist struct, agus ansin tá mé ag baint úsáide as an luach focal anseo treallach 72 00:04:11,240 --> 00:04:13,891 a chur in iúl de chineál ar bith sonraí ndáiríre. 73 00:04:13,891 --> 00:04:16,890 D'fhéadfá a pas a fháil ar slánuimhir nó snámh, fhéadfadh go mbeadh ort bith is mian leat. 74 00:04:16,890 --> 00:04:19,389 Nach bhfuil sé teoranta go dtí díreach slánuimhreacha, nó aon rud mar sin. 75 00:04:19,389 --> 00:04:22,790 Mar sin, tá súil le luach ach treallach cineál sonraí, agus ansin pointeoir 76 00:04:22,790 --> 00:04:26,310 go nód eile den chineál céanna. 77 00:04:26,310 --> 00:04:29,690 >> Anois, níl a ghabháil beag anseo le sainiú struchtúr 78 00:04:29,690 --> 00:04:33,030 nuair a tá sé struchtúr féin referential. 79 00:04:33,030 --> 00:04:35,340 Caithfidh mé a bheith sealadach ainm do mo struchtúr. 80 00:04:35,340 --> 00:04:37,640 Ag deireadh an lae I Ba mhaith go soiléir a ghlaoch air 81 00:04:37,640 --> 00:04:43,030 nód SLL, go bhfuil deireadh thiar an nua ainm chuid de mo sainmhíniú chineál, 82 00:04:43,030 --> 00:04:47,450 ach ní féidir liom a úsáid nód SLL i lár an. 83 00:04:47,450 --> 00:04:51,430 An chúis a bheith, nach bhfuil mé chruthaigh cineál ar a dtugtar nód SLL 84 00:04:51,430 --> 00:04:55,200 go dtí go bhuail mé an pointe deiridh anseo. 85 00:04:55,200 --> 00:04:59,720 Suas go dtí an bpointe sin, caithfidh mé a bheith acu ar bhealach eile chun tagairt a dhéanamh chineál seo sonraí. 86 00:04:59,720 --> 00:05:02,440 >> Agus tá sé seo féin Cineál sonraí referential. 87 00:05:02,440 --> 00:05:06,314 Sé; s le cineál sonraí de Struchtúr go bhfuil a sonraí, 88 00:05:06,314 --> 00:05:08,480 agus pointeoir go ceann eile struchtúr an chineál céanna. 89 00:05:08,480 --> 00:05:11,750 Mar sin, is gá dom a bheith in ann tagairt a dhéanamh chineál seo sonraí ar a laghad, go sealadach, 90 00:05:11,750 --> 00:05:14,910 a thugann mar sin tá sé sealadach ainm an sllist struct 91 00:05:14,910 --> 00:05:18,540 Ligeann dom a rá ansin ba mhaith liom a pointeoir go sllist struct eile, 92 00:05:18,540 --> 00:05:24,690 réalta sllist struct, agus ansin tar éis tá mé críochnaithe an sainmhíniú, 93 00:05:24,690 --> 00:05:27,220 Is féidir liom glaoch anois chineál seo nód SLL. 94 00:05:27,220 --> 00:05:30,520 >> Mar sin, sin an fáth a fheiceann tú níl ainm sealadach anseo, 95 00:05:30,520 --> 00:05:31,879 ach ainm buan anseo. 96 00:05:31,879 --> 00:05:33,920 Uaireanta, d'fhéadfadh tú a fheiceáil sainmhínithe ar struchtúr, 97 00:05:33,920 --> 00:05:36,570 mar shampla, nach bhfuil go féin referential, go 98 00:05:36,570 --> 00:05:39,390 Ní gá go mbeadh ainm sonraitheoir anseo. 99 00:05:39,390 --> 00:05:43,040 Bheadh ​​sé ach a rá struct typedef, oscailte brace curly agus ansin shainmhíniú. 100 00:05:43,040 --> 00:05:45,620 Ach má tá tú go bhfuil struct féin referential, mar tá sé seo ar cheann, 101 00:05:45,620 --> 00:05:49,010 is gá duit a shonrú ainm chineál sealadach. 102 00:05:49,010 --> 00:05:51,310 Ach sa deireadh thiar, anois go atá déanta againn seo, 103 00:05:51,310 --> 00:05:53,620 Is féidir linn a tharchur díreach tar éis a na nóid, na haonaid, 104 00:05:53,620 --> 00:05:57,900 mar nóid SLL chun críocha an chuid eile den físeán seo. 105 00:05:57,900 --> 00:06:00,900 >> Ceart go leor, mar sin tá a fhios againn conas a chruthú liosta nód nasctha. 106 00:06:00,900 --> 00:06:03,240 Tá a fhios againn conas a shainmhíniú nód liosta a nasctha. 107 00:06:03,240 --> 00:06:06,670 Anois, má táimid ag dul chun tús a chur iad a úsáid chun faisnéis a bhailiú, 108 00:06:06,670 --> 00:06:10,360 níl cúpla na n-oibríochtaí a chuirimid Ní mór a thuiscint agus ag obair le. 109 00:06:10,360 --> 00:06:12,860 Ní mór dúinn a fhios conas a chruthú liosta nasctha as an aer tanaí. 110 00:06:12,860 --> 00:06:14,901 Má níl aon liosta cheana, ba mhaith linn a thosú amháin. 111 00:06:14,901 --> 00:06:16,960 Mar sin, ní mór dúinn a bheith in ann a chruthú liosta nasctha, 112 00:06:16,960 --> 00:06:19,130 ní mór dúinn chun cuardach a is dócha tríd an liosta nasc 113 00:06:19,130 --> 00:06:21,830 chun teacht ar an eilimint táimid ag lorg. 114 00:06:21,830 --> 00:06:24,430 Ní mór dúinn a bheith in ann a chur isteach rudaí nua isteach ar an liosta, 115 00:06:24,430 --> 00:06:25,930 ba mhaith linn ár liosta a bheith in ann fás. 116 00:06:25,930 --> 00:06:28,638 Agus mar an gcéanna, ba mhaith linn a bheith in ann chun rudaí a scriosadh as ár liosta, 117 00:06:28,638 --> 00:06:30,250 ba mhaith linn ár liosta a bheith in ann a Laghdaigh. 118 00:06:30,250 --> 00:06:32,160 Agus ag an deireadh ár cláir, go háirithe 119 00:06:32,160 --> 00:06:34,550 má tá tú chun cuimhne go bhfuil muid dinimiciúil leithdháileadh cuimhne 120 00:06:34,550 --> 00:06:38,337 a thógáil ar na liostaí de ghnáth, ba mhaith linn go saor in aisce gach ceann de sin chuimhne 121 00:06:38,337 --> 00:06:39,670 nuair a bhíonn muid ag obair déanamh leis. 122 00:06:39,670 --> 00:06:44,627 Agus mar sin ní mór dúinn a bheith in ann a scriosadh ar liosta nasctha ar fad i gceann swoop theipeann. 123 00:06:44,627 --> 00:06:46,460 Mar sin, a ligean ar dul tríd cuid de na hoibríochtaí 124 00:06:46,460 --> 00:06:51,192 agus conas a d'fhéadfadh muid a shamhlú iad, ag caint i cód pseudocode go sonrach. 125 00:06:51,192 --> 00:06:53,150 Mar sin, ba mhaith linn a chruthú liosta nasctha, agus mar sin b'fhéidir táimid ag 126 00:06:53,150 --> 00:06:56,480 ag iarraidh le feidhm a shainiú leis an fhréamhshamhail. 127 00:06:56,480 --> 00:07:01,690 SLL réalta nód, a chruthú, agus tá mé ag dul i argóint amháin, cuid de na sonraí treallach 128 00:07:01,690 --> 00:07:05,530 cineál arís, de chineál éigin sonraí treallach. 129 00:07:05,530 --> 00:07:10,482 Ach tá mé ag returning-- an fheidhm seo ba chóir ar ais chuig dom pointeoir, le ina n-aonar 130 00:07:10,482 --> 00:07:11,190 nasctha nód liosta. 131 00:07:11,190 --> 00:07:14,050 Arís, tá muid ag iarraidh a chruthú liosta nasctha as an aer tanaí, 132 00:07:14,050 --> 00:07:17,900 mar sin de dhíth orm pointeoir go liosta sin nuair atá mé ag déanamh. 133 00:07:17,900 --> 00:07:19,420 >> Mar sin, cad iad na céimeanna a bhaineann anseo? 134 00:07:19,420 --> 00:07:20,960 Bhuel, an chéad rud Tá mé ag dul a dhéanamh ná dinimiciúil 135 00:07:20,960 --> 00:07:22,550 spás a leithdháileadh le haghaidh nód nua. 136 00:07:22,550 --> 00:07:26,689 Arís, tá muid ag cruthú sé amach as tanaí aer, mar sin ní mór dúinn a spás malloc chun é. 137 00:07:26,689 --> 00:07:28,480 Agus ar ndóigh, díreach tar éis malloc againn, 138 00:07:28,480 --> 00:07:31,692 táimid ag seiceáil i gcónaí chun a chinntiú go bhfuil ár pointer-- ní raibh muid a fháil ar ais null. 139 00:07:31,692 --> 00:07:33,650 Toisc má iarracht muid agus deference pointeoir null, 140 00:07:33,650 --> 00:07:36,190 táimid ag dul ag fulaingt le segfault agus nach bhfuil muid ag iarraidh go. 141 00:07:36,190 --> 00:07:39,510 >> Ansin, ba mhaith linn a líonadh isteach ar an réimse, ba mhaith linn a thúsú an réimse luach 142 00:07:39,510 --> 00:07:41,690 agus thúsú an réimse seo chugainn. 143 00:07:41,690 --> 00:07:45,450 Agus ansin ba mhaith linn to-- deireadh thiar mar an fhréamhshamhail fheidhm indicates-- mhaith linn 144 00:07:45,450 --> 00:07:49,940 chun pointeoir filleadh ar an nód SLL. 145 00:07:49,940 --> 00:07:51,710 Mar sin, cad a dhéanamh ar an cuma mhaith amhairc? 146 00:07:51,710 --> 00:07:55,230 Bhuel, ar an gcéad táimid ag dul a dinimiciúil spás a leithdháileadh le haghaidh nód SLL nua, 147 00:07:55,230 --> 00:07:58,320 ionas malloc-- linn a go a amharcléiriú 148 00:07:58,320 --> 00:08:00,020 an nód a cruthaíodh againn ach. 149 00:08:00,020 --> 00:08:02,757 Agus muid seiceáil a dhéanamh cinnte nach bhfuil sé null-- i chás seo, 150 00:08:02,757 --> 00:08:04,840 Ní bheadh ​​an pictiúr mór léirithe suas má bhí sé null, 151 00:08:04,840 --> 00:08:07,298 ba mhaith linn a bheith ar siúl as cuimhne, mar sin go bhfuil muid go maith chun dul ann. 152 00:08:07,298 --> 00:08:10,200 Mar sin, anois tá muid ar a chéim C, thúsú an réimse luach nóid. 153 00:08:10,200 --> 00:08:12,280 Bhuel, bunaithe ar an bhfeidhm seo glaoch mé ag baint úsáide anseo, 154 00:08:12,280 --> 00:08:16,700 Breathnaíonn an nós Ba mhaith liom a pas a fháil i 6, mar sin beidh mé 6 i réimse an luach. 155 00:08:16,700 --> 00:08:18,865 Anois, thúsú an réimse seo chugainn. 156 00:08:18,865 --> 00:08:21,640 Bhuel, cad tá mé ag dul a dhéanamh ann, níl rud ar bith eile, ar dheis, 157 00:08:21,640 --> 00:08:23,600 is é seo an rud amháin ar an liosta. 158 00:08:23,600 --> 00:08:27,206 Mar sin, cad é an chéad rud eile ar an liosta? 159 00:08:27,206 --> 00:08:29,660 >> Níor cheart é a chur in iúl do rud ar bith, ar dheis. 160 00:08:29,660 --> 00:08:33,600 Níl rud ar bith eile ann, mar sin cad é an coincheap a fhios againn de go nothing-- 161 00:08:33,600 --> 00:08:35,638 leideanna chun rud ar bith? 162 00:08:35,638 --> 00:08:37,929 Ba chóir a thabhairt b'fhéidir gur mhaith linn a a chur ar pointeoir null ann, 163 00:08:37,929 --> 00:08:40,178 agus beidh mé ionadaíocht a null pointeoir mar ach bosca dearg, 164 00:08:40,178 --> 00:08:41,559 ní féidir linn dul ar bith eile. 165 00:08:41,559 --> 00:08:44,430 Mar a beidh orainn a fheiceáil beagán níos déanaí ar, beidh orainn deireadh thiar slabhraí 166 00:08:44,430 --> 00:08:46,330 de saighde nascadh na nóid chéile, 167 00:08:46,330 --> 00:08:48,480 ach nuair a bhuail tú ar an bosca dearg, go null, 168 00:08:48,480 --> 00:08:51,150 ní féidir linn dul ar bith eile, go deireadh an liosta. 169 00:08:51,150 --> 00:08:53,960 >> Agus ar deireadh, ba mhaith linn ach chun pointeoir filleadh ar an nód. 170 00:08:53,960 --> 00:08:56,160 Mar sin, beidh muid ag glaoch air nua, agus beidh sé ar ais nua 171 00:08:56,160 --> 00:08:59,370 ionas gur féidir é a úsáid i is cuma cad fheidhm chruthaigh sé. 172 00:08:59,370 --> 00:09:03,100 Mar sin, ní théann muid, tá muid a cruthaíodh ina n-aonar nasctha liosta nód as an aer tanaí, 173 00:09:03,100 --> 00:09:05,920 agus anois tá liosta is féidir linn a bheith ag obair leis. 174 00:09:05,920 --> 00:09:08,260 >> Anois, a ligean ar rá againn cheana go mbeadh slabhra mór, 175 00:09:08,260 --> 00:09:09,800 agus ba mhaith linn rud éigin ann a fháil. 176 00:09:09,800 --> 00:09:12,716 Agus ba mhaith linn feidhm go bhfuil dul a thabhairt ar ais fíor nó bréagach, ag brath 177 00:09:12,716 --> 00:09:15,840 ar an bhfuil luach sa liosta sin. 178 00:09:15,840 --> 00:09:18,160 A fhréamhshamhail feidhm, nó dearbhú chun feidhme sin, 179 00:09:18,160 --> 00:09:23,320 D'fhéadfadh cuma mhaith Bool this-- aimsiú, agus ansin ba mhaith linn a pas a fháil i dhá argóintí. 180 00:09:23,320 --> 00:09:26,996 >> Is é an chéad, pointeoir chuig an an chéad ghné den liosta nasctha. 181 00:09:26,996 --> 00:09:29,620 Sé seo i ndáiríre rud éigin go mbainfidh tú ba mhaith i gcónaí súil a choinneáil, 182 00:09:29,620 --> 00:09:33,110 agus d'fhéadfadh a bheith i ndáiríre rud éigin a tú a chur fiú i athróg domhanda. 183 00:09:33,110 --> 00:09:35,360 Chomh luath agus tú a chruthú liosta, tú i gcónaí, i gcónaí 184 00:09:35,360 --> 00:09:38,990 ag iarraidh súil a choinneáil ar an chuid is an chéad ghné den liosta. 185 00:09:38,990 --> 00:09:43,690 Sa chaoi sin is féidir leat a tharchur chuig gach ceann eile gnéithe ag díreach tar éis an slabhra, 186 00:09:43,690 --> 00:09:47,300 gan a bheith a choinneáil leideanna slán do gach gné amháin. 187 00:09:47,300 --> 00:09:50,920 Ní mór duit ach súil a choinneáil ar an chéad a choinneáil ceann má tá siad chained go léir le chéile. 188 00:09:50,920 --> 00:09:52,460 >> Agus ansin an dara rud táimid ag dul i arís 189 00:09:52,460 --> 00:09:54,376 Is some-- treallach is cuma cén cineál sonraí a tá muid 190 00:09:54,376 --> 00:09:59,640 Tá lorg ann taobh istigh de tá súil againn ar cheann de na nóid ar an liosta. 191 00:09:59,640 --> 00:10:00,980 Mar sin, cad iad na céimeanna? 192 00:10:00,980 --> 00:10:04,250 Bhuel, is é an chéad rud a dhéanann muid chruthú dúinn pointeoir trasnaí 193 00:10:04,250 --> 00:10:06,015 dírithe ar na liostaí ceann. 194 00:10:06,015 --> 00:10:08,890 Bhuel, cén fáth a dhéanann muid go bhfuil, againn cheana féin bheith pointeoir ar na liostaí ceann, 195 00:10:08,890 --> 00:10:10,974 cén fáth nach bhfuil muid ag bogadh go díreach duine ar fud? 196 00:10:10,974 --> 00:10:13,140 Bhuel, mar a dúirt mé díreach tar éis, tá sé i ndáiríre tábhachtach dúinn 197 00:10:13,140 --> 00:10:17,580 a choinneáil i gcónaí riain an an-an chéad eilimint sa liosta. 198 00:10:17,580 --> 00:10:21,270 Agus mar sin tá sé i ndáiríre níos fearr a chruthú dhúbailt sin, 199 00:10:21,270 --> 00:10:25,350 agus úsáid a bhaint as go bhfuil a bogadh thart mar sin againn riamh thaisme bogadh ar shiúl, nó muid i gcónaí 200 00:10:25,350 --> 00:10:30,430 go mbeadh pointeoir ag pointe éigin go bhfuil ar dheis ar an chéad ghné den liosta. 201 00:10:30,430 --> 00:10:33,290 Mar sin, tá sé níos fearr a chruthú an dara ceann a úsáid againn a bhogadh. 202 00:10:33,290 --> 00:10:35,877 >> Ansin i gcomparáid againn díreach cé acu an réimse luach ag an nód 203 00:10:35,877 --> 00:10:38,960 Is cad tá muid ag lorg, agus má tá sé ní, sinn ag dul díreach chuig an nód seo chugainn. 204 00:10:38,960 --> 00:10:41,040 Agus a choinneáil ag éirí linn go os a chionn, agus os a chionn, agus os a chionn, 205 00:10:41,040 --> 00:10:44,811 go dtí go táimid ag ceachtar fháil an eilimint, nó bhuail muid 206 00:10:44,811 --> 00:10:47,310 null-- tá muid bainte amach an deireadh an liosta agus nach bhfuil sé ann. 207 00:10:47,310 --> 00:10:50,540 Ba chóir é seo fáinne le clog tá súil againn a thabhairt duit chomh díreach cuardaigh líneach, 208 00:10:50,540 --> 00:10:54,430 táimid ag replicating ach é i struchtúr liosta a nasctha ina n-aonar 209 00:10:54,430 --> 00:10:56,280 seachas úsáid a bhaint sraith é a dhéanamh. 210 00:10:56,280 --> 00:10:58,210 >> Mar sin, tá anseo sampla de liosta nasctha ina n-aonar. 211 00:10:58,210 --> 00:11:00,043 Is éard atá sa cheann de cúig nóid, agus ní mór dúinn 212 00:11:00,043 --> 00:11:04,330 pointeoir chuig ceann de na liosta, ar a dtugtar an liosta. 213 00:11:04,330 --> 00:11:07,385 Is é an chéad rud ba mhaith linn a dhéanamh arís, a chruthú go pointeoir traversal. 214 00:11:07,385 --> 00:11:09,760 Mar sin, ní mór dúinn anois dhá threo go pointe ar an rud céanna. 215 00:11:09,760 --> 00:11:15,025 >> Anois, faoi deara anseo freisin, ní raibh mé a malloc aon spás le haghaidh trav. 216 00:11:15,025 --> 00:11:18,970 Ní raibh mé a rá ionann trav malloc rud éigin, ann sin nód cheana, 217 00:11:18,970 --> 00:11:21,160 go spás i gcuimhne ann cheana. 218 00:11:21,160 --> 00:11:24,290 Mar sin go léir Tá mé ag déanamh i ndáiríre é ag cruthú pointeoir eile dó. 219 00:11:24,290 --> 00:11:28,210 Níl mé ag mallocing breise spás, ní mór ach anois dhá threo 220 00:11:28,210 --> 00:11:31,370 dírithe ar an rud céanna. 221 00:11:31,370 --> 00:11:33,710 >> Mar sin, tá 2 a bhfuil mé ag lorg? 222 00:11:33,710 --> 00:11:37,220 Bhuel, ní hea, mar sin in ionad tá mé dul chun bogadh go dtí an chéad cheann eile. 223 00:11:37,220 --> 00:11:41,740 Mar sin, go bunúsach, ba mhaith liom a rá, ionann trav trav chugainn. 224 00:11:41,740 --> 00:11:43,630 Is 3 a bhfuil mé ag lorg, uimh. 225 00:11:43,630 --> 00:11:45,780 Mar sin, leanfaidh mé chun dul trí, go dtí sa deireadh 226 00:11:45,780 --> 00:11:48,690 a fháil chun 6 a bhfuil cad tá mé ag lorg as bunaithe ar an glaoch fheidhm 227 00:11:48,690 --> 00:11:51,600 Tá mé ag an mbarr ann, agus mar sin tá mé ag déanamh. 228 00:11:51,600 --> 00:11:54,150 >> Anois, cad má tá mé an eilimint Ní ag lorg ar an liosta, 229 00:11:54,150 --> 00:11:55,510 tá sé fós ag dul a bheith ag obair? 230 00:11:55,510 --> 00:11:57,120 Bhuel, faoi deara go bhfuil an liosta anseo tá subtly difriúil, 231 00:11:57,120 --> 00:11:59,410 agus tá sé seo rud eile go bhfuil tábhachtach le liostaí nasctha, 232 00:11:59,410 --> 00:12:01,780 ní gá duit a chaomhnú iad in aon ord ar leith. 233 00:12:01,780 --> 00:12:05,390 Is féidir leat más mian leat, ach féadfaidh tú faoi deara cheana 234 00:12:05,390 --> 00:12:09,310 nach bhfuil muid ag súil a choinneáil ar cén uimhir eilimint táimid ag. 235 00:12:09,310 --> 00:12:13,150 >> Agus sin an saghas na trádála amháin go bhfuil muid tá le liosta a nasctha véarsaí arrays, 236 00:12:13,150 --> 00:12:15,300 tá sé nach bhfuil againn rochtain randamach níos mó. 237 00:12:15,300 --> 00:12:18,150 Ní féidir linn ach a rá, ba mhaith liom chun dul go dtí an eilimint 0, 238 00:12:18,150 --> 00:12:21,410 an 6ú eilimint de mo eagar, Is féidir liom a dhéanamh i sraith. 239 00:12:21,410 --> 00:12:25,080 Ní féidir liom a rá Ba mhaith liom dul go dtí an Eilimint 0, nó an eilimint 6, 240 00:12:25,080 --> 00:12:30,360 nó an eilimint 25ú de mo liosta nasctha, níl aon innéacs a bhaineann leo. 241 00:12:30,360 --> 00:12:33,660 Agus mar sin nach ndéanann sé ábhar i ndáiríre má táimid a chaomhnú ar ár liosta in ord. 242 00:12:33,660 --> 00:12:36,080 Más mian leat a thabhairt duit cinnte is féidir, ach níl 243 00:12:36,080 --> 00:12:38,567 aon chúis cén fáth ar gá iad a a chaomhnú in ord ar bith. 244 00:12:38,567 --> 00:12:40,400 Mar sin arís, a ligean ar iarracht a dhéanamh agus teacht 6 sa liosta seo. 245 00:12:40,400 --> 00:12:43,200 Bhuel, tús a chur orainn ag an ag tosú, ní féidir linn a fháil 6, 246 00:12:43,200 --> 00:12:47,690 agus ansin ní leanúint ar aghaidh táimid ag aimsiú 6, go dtí go linn a fháil ar deireadh thiar anseo. 247 00:12:47,690 --> 00:12:52,790 Mar sin, ceart pointí trav anois go dtí an nód ina bhfuil 8, agus sé nach bhfuil ann. 248 00:12:52,790 --> 00:12:55,250 >> Mar sin, bheadh ​​an chéad chéim eile chun dul go dtí an pointeoir seo chugainn, 249 00:12:55,250 --> 00:12:57,440 mar sin a rá ionann trav trav chugainn. 250 00:12:57,440 --> 00:13:00,750 Bhuel, trav chugainn, le fios ag an bosca dearg ann, null. 251 00:13:00,750 --> 00:13:03,020 Mar sin, níl aon áit eile le dul, agus mar sin ag an bpointe seo 252 00:13:03,020 --> 00:13:06,120 is féidir linn a thabhairt i gcrích go atá bainte amach againn an deireadh an liosta nasctha, 253 00:13:06,120 --> 00:13:07,190 agus nach bhfuil 6 i ann. 254 00:13:07,190 --> 00:13:10,980 Agus go mbeadh sé ar ais bréagach sa chás seo. 255 00:13:10,980 --> 00:13:14,540 >> OK, conas is féidir linn a chur isteach nua nód isteach ar an liosta nasctha? 256 00:13:14,540 --> 00:13:17,310 Mar sin, tá muid in ann a chruthú liosta nasctha amach as an áit, 257 00:13:17,310 --> 00:13:19,370 ach ba mhaith linn is dócha a thógáil slabhra agus ní 258 00:13:19,370 --> 00:13:22,620 chruthú a bunch de liostaí ar leith. 259 00:13:22,620 --> 00:13:25,700 Ba mhaith linn go mbeadh liosta amháin go Tá a bunch de nóid ann, 260 00:13:25,700 --> 00:13:28,040 Ní a bunch de liostaí le nód amháin. 261 00:13:28,040 --> 00:13:31,260 Mar sin, ní féidir linn a choinneáil ach ag baint úsáide as an Create fheidhm sainmhínithe againn níos luaithe, táimid ag anois 262 00:13:31,260 --> 00:13:33,860 ag iarraidh a chur isteach i liosta atá ann cheana. 263 00:13:33,860 --> 00:13:36,499 >> Mar sin, chás seo, táimid ag dul chun pas a fháil i dhá argóintí, 264 00:13:36,499 --> 00:13:39,290 an pointeoir chuig ceann sin liosta a ba mhaith linn a chur leis nasctha. 265 00:13:39,290 --> 00:13:40,910 Arís, sin an fáth go bhfuil sé chomh tábhachtach go againn i gcónaí 266 00:13:40,910 --> 00:13:43,400 súil a choinneáil ar é a choinneáil, mar gheall ar tá sé an t-aon bhealach againn i ndáiríre 267 00:13:43,400 --> 00:13:46,690 a tharchur chuig an liosta iomlán ach ag pointeoir chuig an chéad eilimint. 268 00:13:46,690 --> 00:13:49,360 Mar sin, ba mhaith linn a pas a fháil i pointeoir leis sin chéad eilimint, 269 00:13:49,360 --> 00:13:52,226 agus is cuma cad luach táimid ag ag iarraidh a chur leis an liosta. 270 00:13:52,226 --> 00:13:54,600 Agus ar deireadh thiar an fheidhm seo ag dul chun filleadh ar pointeoir 271 00:13:54,600 --> 00:13:57,980 go dtí an ceann nua de liosta nasctha. 272 00:13:57,980 --> 00:13:59,700 >> Cad iad na céimeanna a bhaineann anseo? 273 00:13:59,700 --> 00:14:02,249 Bhuel, díreach cosúil le a chruthú, ní mór dúinn a leithdháileadh dinimiciúil 274 00:14:02,249 --> 00:14:05,540 spás le haghaidh nód nua, agus seiceáil a dhéanamh cinnte nach bhfuil muid ag siúl as an chuimhne, arís, 275 00:14:05,540 --> 00:14:07,150 mar gheall orainn ag baint úsáide as malloc. 276 00:14:07,150 --> 00:14:09,080 Ansin, ba mhaith linn a populate agus cuir isteach an nód, 277 00:14:09,080 --> 00:14:12,730 mar sin a chur ar an uimhir, is cuma cad Is val, isteach sa nód. 278 00:14:12,730 --> 00:14:17,310 Is mian linn a chur isteach ar an nód ag tús an liosta nasctha. 279 00:14:17,310 --> 00:14:19,619 >> Níl cúis go bhfuil mé ag iarraidh a dhéanamh, agus é a 280 00:14:19,619 --> 00:14:21,910 d'fhéadfadh a bheith fiú cur dara chun sos an físeán anseo, 281 00:14:21,910 --> 00:14:25,860 agus smaoineamh ar cén fáth go mbeadh mé ag iarraidh a cuir isteach ar an tús an nasctha 282 00:14:25,860 --> 00:14:26,589 liosta. 283 00:14:26,589 --> 00:14:28,630 Arís, luaigh mé níos luaithe nach ndéanann sé i ndáiríre 284 00:14:28,630 --> 00:14:33,020 ábhar má táimid ag a chaomhnú é in aon ordú, agus mar sin b'fhéidir go bhfuil a clue. 285 00:14:33,020 --> 00:14:36,040 Agus chonaic tú cad a tharlódh dá linn a Theastaigh to-- nó ó díreach dara 286 00:14:36,040 --> 00:14:37,360 ó shin nuair a bhí muid ag dul trí cuardaigh tú 287 00:14:37,360 --> 00:14:39,235 D'fhéadfadh a fheiceáil cad a d'fhéadfadh tharlóidh má bhí muid ag iarraidh 288 00:14:39,235 --> 00:14:41,330 a chur isteach ag deireadh an liosta. 289 00:14:41,330 --> 00:14:44,750 Toisc nach bhfuil againn pointeoir go dtí deireadh an liosta. 290 00:14:44,750 --> 00:14:47,490 >> Mar sin, ar an gcúis go mbeadh mé ag iarraidh a chur isteach ag an tús, 291 00:14:47,490 --> 00:14:49,380 Is mar is féidir liom é a dhéanamh láithreach. 292 00:14:49,380 --> 00:14:52,730 Tá mé pointeoir ag an tús, agus beidh orainn a fheiceáil seo i radharc sa dara. 293 00:14:52,730 --> 00:14:55,605 Ach más mian liom a chur isteach ag an deireadh, Caithfidh mé a thosú ag an tús, 294 00:14:55,605 --> 00:14:58,760 Traverse léir ar an mbealach chun an deireadh, agus ansin tack ar. 295 00:14:58,760 --> 00:15:01,420 Mar sin, bheadh ​​a chiallaíonn go a chur isteach i ndeireadh an liosta 296 00:15:01,420 --> 00:15:04,140 Bheadh ​​bheith o de n oibriú, ag dul ar ais 297 00:15:04,140 --> 00:15:06,720 chun ár plé ar castacht ríomhaireachta. 298 00:15:06,720 --> 00:15:10,140 Ba mhaith sé a bheith ina o oibriú n, i gcás ina mar an liosta a fuair níos mó, agus níos mó, 299 00:15:10,140 --> 00:15:13,310 agus níos mó, beidh sé a bheith níos mó agus níos deacra rud éigin a tack 300 00:15:13,310 --> 00:15:14,661 ar ag an deireadh. 301 00:15:14,661 --> 00:15:17,410 Ach tá sé i gcónaí i ndáiríre éasca a rud éigin ar tack ag an tús, 302 00:15:17,410 --> 00:15:19,060 tá tú i gcónaí ag an tús. 303 00:15:19,060 --> 00:15:21,620 >> Agus beidh orainn a fheiceáil ar amhairc an arís. 304 00:15:21,620 --> 00:15:24,100 Agus ansin nuair a bhíonn déanta againn, uair amháin tá muid isteach an nód nua, 305 00:15:24,100 --> 00:15:26,880 ba mhaith linn a thabhairt ar ais ár n-pointeoir le an ceann nua de liosta nasctha, a 306 00:15:26,880 --> 00:15:29,213 ós rud é tá muid ag chur isteach ag an ag tosú a bheidh, a iarbhír 307 00:15:29,213 --> 00:15:31,060 pointeoir leis an nód a cruthaíodh againn ach. 308 00:15:31,060 --> 00:15:33,280 A ligean ar a shamhlú seo, mar gheall ar mo thuairimse, beidh sé cabhrú leat. 309 00:15:33,280 --> 00:15:36,661 >> Mar sin, tá anseo ar ár liosta, tá sé de ceithre ghné, nód ina bhfuil 15, 310 00:15:36,661 --> 00:15:38,410 a dhíríonn ar nód ina bhfuil 9, a 311 00:15:38,410 --> 00:15:41,370 pointí a nód ina bhfuil 13, a dhíríonn ar nód ina bhfuil 312 00:15:41,370 --> 00:15:44,840 10, a bhfuil an null pointeoir mar a pointeoir seo chugainn 313 00:15:44,840 --> 00:15:47,010 ionas go bhfuil an deireadh an liosta. 314 00:15:47,010 --> 00:15:50,200 Mar sin, ba mhaith linn a chur isteach nód nua leis an luach 12 315 00:15:50,200 --> 00:15:52,720 ag tús an liosta, cad a dhéanaimid? 316 00:15:52,720 --> 00:15:58,770 Bhuel, ar an gcéad táimid ag malloc spás le haghaidh na nód, agus ansin chuir muid 12 i ann. 317 00:15:58,770 --> 00:16:02,211 >> Mar sin, anois tá muid bainte amach pointe chinneadh, ceart? 318 00:16:02,211 --> 00:16:03,960 Ní mór dúinn cúpla go leideanna d'fhéadfadh muid 319 00:16:03,960 --> 00:16:06,770 bogadh, ba chóir a ceann muid ag bogadh ar dtús? 320 00:16:06,770 --> 00:16:09,250 Ar chóir dúinn a dhéanamh 12 pointe an ceann nua ar an list-- 321 00:16:09,250 --> 00:16:13,020 nó leithscéal dom, ba chóir dúinn a dhéanamh 12 pointe ar an ceann d'aois ar an liosta? 322 00:16:13,020 --> 00:16:15,319 Nó ba chóir dúinn a rá go bhfuil an liosta Tosaíonn anois ag 12. 323 00:16:15,319 --> 00:16:17,110 Níl idirdhealú ann, agus beidh muid ag breathnú 324 00:16:17,110 --> 00:16:19,870 ar an méid a tharlaíonn leis an dá sa dara. 325 00:16:19,870 --> 00:16:23,350 >> Ach a thugann sé sin ábhar mór do sidebar, 326 00:16:23,350 --> 00:16:26,280 atá bhfuil ceann de na rudaí trickiest le liostaí nasctha 327 00:16:26,280 --> 00:16:30,980 Tá a shocrú na leideanna san ord ceart. 328 00:16:30,980 --> 00:16:34,520 Má rudaí a bhogann tú as ord, Is féidir leat suas go deireadh thaisme 329 00:16:34,520 --> 00:16:36,050 orphaning an chuid eile den liosta. 330 00:16:36,050 --> 00:16:37,300 Agus anseo sampla de sin. 331 00:16:37,300 --> 00:16:40,540 Mar sin, a ligean ar dul leis an smaoineamh of-- go maith, tá muid a cruthaíodh ach 12. 332 00:16:40,540 --> 00:16:43,180 Tá a fhios againn go 12 ag dul a bheith an ceann nua ar an liosta, 333 00:16:43,180 --> 00:16:47,660 agus mar sin cén fáth nach bogadh againn ach an liosta pointeoir a chur in iúl ann. 334 00:16:47,660 --> 00:16:49,070 >> OK, mar sin go maith. 335 00:16:49,070 --> 00:16:51,560 Mar sin, anois i gcás ina ndéanann 12 pointe eile? 336 00:16:51,560 --> 00:16:54,580 Ciallaíonn mé, amhairc féidir linn a fheiceáil go mbeidh sé in iúl go 15, 337 00:16:54,580 --> 00:16:57,250 mar dhaoine tá sé i ndáiríre soiléir a chur chugainn. 338 00:16:57,250 --> 00:17:00,300 Cén chaoi a bhfuil a fhios an ríomhaire? 339 00:17:00,300 --> 00:17:02,720 Ní chuirimid bhfuil aon rud ag cur in iúl go 15 níos mó, ceart? 340 00:17:02,720 --> 00:17:05,869 >> Táimid tar éis a cailleadh aon cumas chun tagairt a dhéanamh 15. 341 00:17:05,869 --> 00:17:11,460 Ní féidir linn a rá arrow nua ionann chugainn rud éigin, níl aon rud ann. 342 00:17:11,460 --> 00:17:13,510 Go deimhin, tá muid dílleachtaí an chuid eile den liosta 343 00:17:13,510 --> 00:17:16,465 ag déanamh amhlaidh, tá muid briste thaisme an slabhra. 344 00:17:16,465 --> 00:17:18,089 Agus muid cinnte nach bhfuil ag iarraidh a dhéanamh sin. 345 00:17:18,089 --> 00:17:20,000 >> Mar sin, a ligean ar dul ar ais agus iarracht seo arís. 346 00:17:20,000 --> 00:17:24,060 B'fhéidir an rud ceart a dhéanamh Is a shocrú 12 s pointeoir seo chugainn 347 00:17:24,060 --> 00:17:28,290 go dtí an ceann d'aois ar an chéad liosta, ansin is féidir linn bogadh an liosta os a chionn. 348 00:17:28,290 --> 00:17:30,420 Agus go deimhin, is é sin an ord ceart go ndéanaimid 349 00:17:30,420 --> 00:17:32,836 Ní mór a leanúint nuair a bhíonn muid ag obair le liosta a nasctha ina n-aonar. 350 00:17:32,836 --> 00:17:36,460 Ba mhaith linn i gcónaí a cheangal ar an Gné nua isteach ar an liosta, 351 00:17:36,460 --> 00:17:41,010 sula chur orainn chineál sin de céim thábhachtach a athrú 352 00:17:41,010 --> 00:17:43,360 áit a bhfuil an ceann an liosta nasctha. 353 00:17:43,360 --> 00:17:46,740 Arís, tá go leithéid de rud bunúsach, nach bhfuil muid ag iarraidh súil a choinneáil ar é a chailleadh. 354 00:17:46,740 --> 00:17:49,310 >> Mar sin, ba mhaith linn a dhéanamh cinnte go tá gach rud chained le chéile, 355 00:17:49,310 --> 00:17:52,040 sula bogadh go pointeoir. 356 00:17:52,040 --> 00:17:55,300 Agus mar sin go mbeadh sé seo a bheith ar an ord ceart, a bhfuil a nascadh 12 ar an liosta, 357 00:17:55,300 --> 00:17:57,630 ansin a rá go dtosaíonn an liosta a 12. 358 00:17:57,630 --> 00:18:00,860 Má dúirt táimid ag thosaíonn an liosta ag 12 agus ansin iarracht chun nascadh 12 ar an liosta, 359 00:18:00,860 --> 00:18:02,193 táimid ag feiceáil cheana féin cad a tharlaíonn. 360 00:18:02,193 --> 00:18:04,920 Caillfidh muid an liosta de dhearmad. 361 00:18:04,920 --> 00:18:06,740 >> OK, mar sin rud amháin níos mó chun labhairt faoi. 362 00:18:06,740 --> 00:18:09,750 Cad más mian linn a fháil haitheantas coibhneasta de liosta ar fad nasctha ag an am céanna? 363 00:18:09,750 --> 00:18:11,750 Arís, tá muid ag mallocing go léir an spás, agus mar sin againn 364 00:18:11,750 --> 00:18:13,351 Ní mór go saor in aisce é nuair a bhíonn muid ag déanamh. 365 00:18:13,351 --> 00:18:15,350 Mar sin, anois ba mhaith linn a scriosadh ar an liosta nasctha ar fad. 366 00:18:15,350 --> 00:18:16,850 Bhuel, cad ba mhaith linn a dhéanamh? 367 00:18:16,850 --> 00:18:20,460 >> Má tá muid bainte amach an pointeoir null, táimid ag ag iarraidh a stopadh, ar shlí eile, ach a scriosadh 368 00:18:20,460 --> 00:18:23,420 an chuid eile den liosta agus ansin saor mé. 369 00:18:23,420 --> 00:18:28,890 Scrios an chuid eile den liosta, agus ansin saor in aisce ar an nód atá ann faoi láthair. 370 00:18:28,890 --> 00:18:32,850 Cad a dhéanann go bhfuil fuaim cosúil le, cén teicníc mór labhair muid 371 00:18:32,850 --> 00:18:35,440 dhéanann thart roimhe sin fhuaim mhaith? 372 00:18:35,440 --> 00:18:39,560 Scrios gach duine eile, ansin teacht ar ais agus a scriosadh dom. 373 00:18:39,560 --> 00:18:42,380 >> Sin athchúrsáil, atá déanta againn ar an fadhb le beagán níos lú, 374 00:18:42,380 --> 00:18:46,910 táimid ag rá a scriosadh gach duine eile, ansin is féidir leat a scriosadh dom. 375 00:18:46,910 --> 00:18:50,940 Agus níos faide síos an bóthar, nód sin Beidh rá, a scriosadh gach duine eile. 376 00:18:50,940 --> 00:18:53,940 Ach sa deireadh beidh orainn a fháil chun an pointe ina bhfuil an liosta null, 377 00:18:53,940 --> 00:18:55,310 agus go bhfuil ár gcás bonn. 378 00:18:55,310 --> 00:18:57,010 >> Mar sin, a ligean ar ghlacadh le breathnú ar seo, agus conas a d'fhéadfadh an obair seo. 379 00:18:57,010 --> 00:18:59,759 Mar sin, tá anseo ar ár liosta, tá sé mar an gcéanna liosta a bhí muid ag caint díreach faoi, 380 00:18:59,759 --> 00:19:00,980 agus níl na céimeanna. 381 00:19:00,980 --> 00:19:04,200 Níl a lán de téacs anseo, ach tá súil againn go mbeidh an léirshamhlú cabhrú. 382 00:19:04,200 --> 00:19:08,557 >> Mar sin, táimid have-- agus tharraing mé freisin suas ár frámaí Stack léiriú 383 00:19:08,557 --> 00:19:10,890 as ár físeán ar cruacha glaoch, agus táthar ag súil seo ar fad 384 00:19:10,890 --> 00:19:13,260 a thaispeáint le chéile agat cad atá ar siúl. 385 00:19:13,260 --> 00:19:14,510 Mar sin, tá anseo ar ár cód pseudocode. 386 00:19:14,510 --> 00:19:17,830 Má shroicheann muid null pointeoir, stad, ar shlí eile, 387 00:19:17,830 --> 00:19:21,320 scriosadh an chuid eile den liosta, ansin saor in aisce ar an nód atá ann faoi láthair. 388 00:19:21,320 --> 00:19:25,700 Mar sin ceart anois, list-- an pointeoir go mbeimid 389 00:19:25,700 --> 00:19:28,410 dul isteach chun pointí a scrios go dtí 12. 390 00:19:28,410 --> 00:19:33,340 Ní 12 pointeoir null, mar sin tá muid ag dul go dtí scriosadh an chuid eile den liosta. 391 00:19:33,340 --> 00:19:35,450 >> Cad atá ag scriosadh an chuid eile againn i gceist? 392 00:19:35,450 --> 00:19:37,950 Bhuel, ciallaíonn sé ag déanamh glaoch a mhilleadh, ag rá 393 00:19:37,950 --> 00:19:42,060 go 15 is é an tús an chuid eile den liosta ba mhaith linn a mhilleadh. 394 00:19:42,060 --> 00:19:47,480 Agus mar sin an glaoch a mhilleadh 12 Tá de chineál ar ar a shealbhú. 395 00:19:47,480 --> 00:19:52,690 Tá sé seo reoite ann, ag fanacht leis an glaoch a mhilleadh 15, a chríochnú a post. 396 00:19:52,690 --> 00:19:56,280 >> Bhuel, nach bhfuil 15 pointeoir null, agus mar sin tá sé ag dul a rá, ceart go léir, 397 00:19:56,280 --> 00:19:58,450 go maith, a scriosadh an chuid eile den liosta. 398 00:19:58,450 --> 00:20:00,760 An chuid eile den liosta a thosaíonn ag 9, agus mar sin beidh muid díreach 399 00:20:00,760 --> 00:20:04,514 fanacht go dtí go scriosann tú go léir go rudaí mar sin, ansin teacht ar ais agus a scriosadh dom. 400 00:20:04,514 --> 00:20:06,680 Bhuel tá 9 ag dul a rá, go maith, Níl mé pointeoir null, 401 00:20:06,680 --> 00:20:09,020 mar sin a scriosadh an chuid eile ar an liosta ó anseo. 402 00:20:09,020 --> 00:20:11,805 Agus mar sin déan iarracht agus scrios 13. 403 00:20:11,805 --> 00:20:15,550 13 deir, nach bhfuil mé pointeoir null, rud céanna, Gabhann sé an buck. 404 00:20:15,550 --> 00:20:17,930 Níl an 10 pointeoir null, 10 Tá pointeoir null, 405 00:20:17,930 --> 00:20:20,200 ach ní féin é 10 null pointeoir ceart anois, 406 00:20:20,200 --> 00:20:22,470 agus mar sin a théann sí an buck freisin. 407 00:20:22,470 --> 00:20:25,560 >> Agus liosta anois pointí ann, sé Bheadh ​​pointe i ndáiríre a some-- 408 00:20:25,560 --> 00:20:28,710 má bhí mé níos mó spáis sa íomhá, go mbeadh sé pointe ar roinnt spáis randamach 409 00:20:28,710 --> 00:20:29,960 nach bhfuil a fhios againn cad é. 410 00:20:29,960 --> 00:20:34,680 Tá sé an pointeoir null áfach, ar an liosta Tá literally leagtha anois tá sé luachanna null. 411 00:20:34,680 --> 00:20:36,820 Tá sé seo ag cur in iúl ceart taobh istigh go bosca dearg. 412 00:20:36,820 --> 00:20:39,960 Shroich muid pointeoir null, mar sin Is féidir linn a stopadh, agus táimid ag ag déanamh. 413 00:20:39,960 --> 00:20:46,230 >> Agus mar sin go bhfuil fráma corcra now-- ag an barr an stack-- gur ar an fráma gníomhach, 414 00:20:46,230 --> 00:20:47,017 ach tá sé déanta. 415 00:20:47,017 --> 00:20:48,600 Má tá muid bainte amach pointeoir null, stop. 416 00:20:48,600 --> 00:20:51,290 Ní chuirimid aon rud a dhéanamh, táimid ag Ní féidir saor in aisce ar pointeoir null, 417 00:20:51,290 --> 00:20:55,070 ní raibh muid ar aon malloc spás, agus mar sin táimid ag déanamh. 418 00:20:55,070 --> 00:20:57,590 Mar sin, go fráma fheidhm scriosta, agus táimid ag 419 00:20:57,590 --> 00:21:00,930 resume-- muid ag piocadh suas áit ad'fhág muid amach leis an chéad ceann is airde, a 420 00:21:00,930 --> 00:21:02,807 tá an fráma gorm dorcha anseo. 421 00:21:02,807 --> 00:21:04,390 Mar sin, táimid ag piocadh suas ceart nuair a d'fhág muid amach. 422 00:21:04,390 --> 00:21:06,598 Scriosadh muid an chuid eile de na liosta cheana, mar sin anois tá muid 423 00:21:06,598 --> 00:21:08,000 ag dul go dtí saor in aisce na nóid atá ann faoi láthair. 424 00:21:08,000 --> 00:21:12,920 Mar sin, anois is féidir linn saor in aisce seo a nód, agus anois tá muid bainte amach faoi dheireadh na feidhme. 425 00:21:12,920 --> 00:21:16,810 Agus mar sin go fráma fheidhm scriosta, agus táimid ag piocadh suas ag an gceann gorm éadrom. 426 00:21:16,810 --> 00:21:20,650 >> Mar sin, says-- sé Tá mé done-- cheana scriosadh an chuid eile den liosta, agus mar sin 427 00:21:20,650 --> 00:21:23,140 saor in aisce ar an nód atá ann faoi láthair. 428 00:21:23,140 --> 00:21:26,520 Agus anois tá an fráma buí ar ais ar bharr an chairn. 429 00:21:26,520 --> 00:21:29,655 Agus mar sin mar a fheiceann tú, tá muid anois milleadh an liosta ó ceart ar chlé. 430 00:21:29,655 --> 00:21:33,710 431 00:21:33,710 --> 00:21:37,280 >> Cad a tharla, áfach, dá mbeadh déanta againn rudaí ar an mbealach mícheart? 432 00:21:37,280 --> 00:21:39,410 Díreach mar nuair a rinne muid a chur gné. 433 00:21:39,410 --> 00:21:41,909 Má messed muid suas an slabhra, más rud é ní raibh muid a nascadh na leideanna 434 00:21:41,909 --> 00:21:44,690 san ord ceart, má táimid ach freed an chéad eilimint, 435 00:21:44,690 --> 00:21:47,420 má freed againn ach an ceann an liosta, anois táimid ag 436 00:21:47,420 --> 00:21:49,642 nach bhfuil aon bhealach chun tagairt a dhéanamh an chuid eile den liosta. 437 00:21:49,642 --> 00:21:51,350 Agus mar sin ba mhaith linn a bheith gach rud dílleachtaí, 438 00:21:51,350 --> 00:21:53,880 ba mhaith linn go raibh cad atá ar a dtugtar sceitheadh ​​chuimhne. 439 00:21:53,880 --> 00:21:56,800 Má tá tú chun cuimhne as ár físeán ar leithdháileadh cuimhne dinimiciúil, 440 00:21:56,800 --> 00:21:58,650 ní go an rud an-mhaith. 441 00:21:58,650 --> 00:22:00,810 >> Mar sin, mar a dúirt mé, tá Tá roinnt oibríochtaí 442 00:22:00,810 --> 00:22:04,010 gur gá dúinn a úsáid a bheith ag obair liosta le nasctha go héifeachtach. 443 00:22:04,010 --> 00:22:08,430 Agus féadfaidh tú faoi deara ar lár mé amháin, scriosadh eilimint amháin ó nasctha 444 00:22:08,430 --> 00:22:09,064 liosta. 445 00:22:09,064 --> 00:22:10,980 An chúis a rinne mé go is tá sé i ndáiríre de chineál ar 446 00:22:10,980 --> 00:22:14,360 tricky smaoineamh ar conas a scriosadh eilimint amháin ina n-aonar ó 447 00:22:14,360 --> 00:22:15,600 liosta nasctha. 448 00:22:15,600 --> 00:22:19,950 Ní mór dúinn a bheith in ann a scipeáil thar rud éigin ar an liosta, a 449 00:22:19,950 --> 00:22:22,975 ciallaíonn fháil againn go dtí sin táimid point-- ag iarraidh seo a scriosadh node-- 450 00:22:22,975 --> 00:22:25,350 ach d'fhonn a dhéanamh air mar sin againn ní chailleann aon fhaisnéis, 451 00:22:25,350 --> 00:22:30,530 ní mór dúinn a nascadh seo nód thar anseo, anseo. 452 00:22:30,530 --> 00:22:33,390 >> Mar sin, rinne mé dócha go mícheart ó thaobh amhairc. 453 00:22:33,390 --> 00:22:36,830 Mar sin, tá muid ag tús na ár liosta, tá muid ag dul tríd, 454 00:22:36,830 --> 00:22:40,510 ba mhaith linn a scriosadh an nód. 455 00:22:40,510 --> 00:22:43,440 Má táimid scriosadh ach é, tá muid briste ar an slabhra. 456 00:22:43,440 --> 00:22:45,950 Seo nód dheis anseo Tagraíonn gach rud eile, 457 00:22:45,950 --> 00:22:48,260 go bhfuil ann an slabhra ó anseo ar amach. 458 00:22:48,260 --> 00:22:51,190 >> Mar sin, an méid is gá dúinn a dhéanamh i ndáiríre tar éis dúinn leis an bpointe seo, 459 00:22:51,190 --> 00:22:56,670 Is gá dúinn a céim siar amháin, agus nascadh an nód anonn go dtí an nód, 460 00:22:56,670 --> 00:22:58,590 ionas gur féidir linn a scriosadh ansin an ceann i lár. 461 00:22:58,590 --> 00:23:02,120 Ach ní liostaí nasctha ina n-aonar ar fáil dúinn ar bhealach chun dul ar gcúl. 462 00:23:02,120 --> 00:23:05,160 Mar sin, ní mór dúinn a choinneáil ar ceachtar dhá threo, agus iad a bhogadh 463 00:23:05,160 --> 00:23:09,527 saghas céim amach, ceann amháin taobh thiar de na eile de réir mar a théann muid, nó a fháil go pointe 464 00:23:09,527 --> 00:23:11,110 agus ansin a sheoladh pointeoir eile tríd. 465 00:23:11,110 --> 00:23:13,150 Agus mar is féidir leat a fheiceáil, é a Is féidir a fháil ar salach beag. 466 00:23:13,150 --> 00:23:15,360 Fortunately, ní mór dúinn ar bhealach eile a réiteach go, 467 00:23:15,360 --> 00:23:17,810 nuair a labhairt linn faoi liostaí nasctha doubly. 468 00:23:17,810 --> 00:23:20,720 >> Tá mé Doug Lloyd, is é seo CS50. 469 00:23:20,720 --> 00:23:22,298