1 00:00:07,260 --> 00:00:10,050 [Powered by Google Translate] I gcláir, is gá dúinn go minic chun ionadaíocht a dhéanamh ar liostaí na luachanna, 2 00:00:10,050 --> 00:00:12,840 cosúil leis an ainmneacha na mac léinn i rannóg 3 00:00:12,840 --> 00:00:15,100 nó a n-scóir ar an tráth na gceist is déanaí. 4 00:00:15,100 --> 00:00:17,430 >> Sa teanga C, a dhearbhú gur féidir arrays a úsáid 5 00:00:17,430 --> 00:00:19,160 chun liostaí a stóráil. 6 00:00:19,160 --> 00:00:21,200 Tá sé éasca a enumerate na gnéithe de liosta 7 00:00:21,200 --> 00:00:23,390 stóráil in eagar, agus más gá duit chun rochtain a 8 00:00:23,390 --> 00:00:25,050 nó a mhodhnú an ghné liosta sháith 9 00:00:25,050 --> 00:00:27,570 do roinnt innéacs treallach mé, 10 00:00:27,570 --> 00:00:29,910 is féidir a dhéanamh in am i gcónaí, 11 00:00:29,910 --> 00:00:31,660 ach eagair míbhuntáistí a bheith acu, freisin. 12 00:00:31,660 --> 00:00:33,850 >> Nuair a dhearbhú dóibh, táimid ag teastáil a rá 13 00:00:33,850 --> 00:00:35,900 suas chun tosaigh cé chomh mór atá siad, 14 00:00:35,900 --> 00:00:38,160 is é sin, cé mhéad gnéithe féidir iad a stóráil 15 00:00:38,160 --> 00:00:40,780 agus cé chomh mór na heilimintí seo iad, atá arna chinneadh ag a n-cineál. 16 00:00:40,780 --> 00:00:45,450 Mar shampla, slánuimhir Arr (10) 17 00:00:45,450 --> 00:00:48,220 Is féidir a stóráil 10 míreanna 18 00:00:48,220 --> 00:00:50,200 Tá go bhfuil an méid ina slánuimhir. 19 00:00:50,200 --> 00:00:52,590 >> Ní féidir linn a athrú le sraith ar mhéid tar éis dearbhú. 20 00:00:52,590 --> 00:00:55,290 Ní mór dúinn a dhéanamh ar raon nua más mian linn a stóráil eilimintí níos mó. 21 00:00:55,290 --> 00:00:57,410 Is é an chúis ann leis an teorainn go bhfuil ár 22 00:00:57,410 --> 00:00:59,040 clár stórálann an réimse iomlán 23 00:00:59,040 --> 00:01:02,310 mar smután tadhlach de chuimhne. 24 00:01:02,310 --> 00:01:04,500 Abair é seo an maolán i gcás stóráil againn in ár eagar. 25 00:01:04,500 --> 00:01:06,910 Fhéadfadh a bheith ann athróga eile 26 00:01:06,910 --> 00:01:08,310 suite ceart aice leis an eagar 27 00:01:08,310 --> 00:01:10,060 i gcuimhne, mar sin ní féidir linn 28 00:01:10,060 --> 00:01:12,060 ach a dhéanamh ar an eagar níos mó. 29 00:01:12,060 --> 00:01:15,700 >> Uaireanta ba mhaith linn a thrádáil ar an raon luas rochtana tapa sonraí 30 00:01:15,700 --> 00:01:17,650 le haghaidh solúbthachta beagán níos mó. 31 00:01:17,650 --> 00:01:20,380 Cuir isteach an liosta nasctha, struchtúr eile sonraí bunúsacha 32 00:01:20,380 --> 00:01:22,360 nach dtiocfadh leat a bheith chomh eolach. 33 00:01:22,360 --> 00:01:24,200 Ag leibhéal ard, 34 00:01:24,200 --> 00:01:26,840 Stórálann liosta nasctha sonraí i sraith de nóid 35 00:01:26,840 --> 00:01:29,280 atá nasctha le chéile le naisc, 36 00:01:29,280 --> 00:01:31,760 mar sin, an t-ainm 'liosta nasctha.' 37 00:01:31,760 --> 00:01:33,840 Mar beidh orainn a fheiceáil, an difríocht i ndearadh 38 00:01:33,840 --> 00:01:35,500 cúis le buntáistí éagsúla agus na míbhuntáistí a 39 00:01:35,500 --> 00:01:37,000 ná eagar. 40 00:01:37,000 --> 00:01:39,840 >> Seo roinnt cód C le haghaidh liosta an-simplí nasctha na slánuimhreacha. 41 00:01:39,840 --> 00:01:42,190 Is féidir leat a fheiceáil go bhfuil muid ionadaíocht gach nód 42 00:01:42,190 --> 00:01:45,520 ar an liosta mar struct ina bhfuil 2 rudaí, 43 00:01:45,520 --> 00:01:47,280 slánuimhir a stóráil ar a dtugtar 'val' 44 00:01:47,280 --> 00:01:50,460 agus nasc leis an nód seo chugainn ar an liosta 45 00:01:50,460 --> 00:01:52,990 a ionadaíocht againn mar pointeoir ar a dtugtar 'seo chugainn.' 46 00:01:54,120 --> 00:01:56,780 Sa tslí seo, is féidir linn a rian ar an liosta iomlán 47 00:01:56,780 --> 00:01:58,790 le pointeoir ach amháin leis an nód 1, 48 00:01:58,790 --> 00:02:01,270 agus ansin is féidir linn leanúint ar an leideanna romhainn 49 00:02:01,270 --> 00:02:03,130 leis an nód 2, 50 00:02:03,130 --> 00:02:05,280 leis an nód 3, 51 00:02:05,280 --> 00:02:07,000 leis an nód 4, 52 00:02:07,000 --> 00:02:09,889 agus mar sin de, go dtí go bhfaigheann muid go dtí an deireadh an liosta. 53 00:02:10,520 --> 00:02:12,210 >> D'fhéadfá a bheith in ann a fheiceáil 1 buntáiste aige seo 54 00:02:12,210 --> 00:02:14,490 thar an struchtúr sraith statach - le liosta nasctha, 55 00:02:14,490 --> 00:02:16,450 ní mór dúinn le smután mór de chuimhne ar fad. 56 00:02:17,400 --> 00:02:20,530 D'fhéadfaí an nód 1 ar an liosta beo ag an áit seo i gcuimhne, 57 00:02:20,530 --> 00:02:23,160 agus d'fhéadfadh a bheith ar an nód 2 léir ar an mbealach thar anseo. 58 00:02:23,160 --> 00:02:25,780 Is féidir linn a fháil do na nóid aon ábhar ina bhfuil siad i gcuimhne, 59 00:02:25,780 --> 00:02:28,890 mar gheall ag tosú ag an nód 1, gach nód ar pointeoir eile 60 00:02:28,890 --> 00:02:31,700 insíonn dúinn go díreach cá háit le dul amach romhainn. 61 00:02:31,700 --> 00:02:33,670 >> Ina theannta sin, ní féidir linn a rá suas chun tosaigh 62 00:02:33,670 --> 00:02:36,740 cé chomh mór a bheidh ar liosta nasc ar an mbealach a dhéanann muid le arrays statach, 63 00:02:36,740 --> 00:02:39,060 toisc gur féidir linn a choinneáil nóid cur le liosta 64 00:02:39,060 --> 00:02:42,600 chomh fada agus tá spás áit éigin i gcuimhne do nóid nua. 65 00:02:42,600 --> 00:02:45,370 Dá bhrí sin, tá liostaí nasctha éasca a athrú dinimiciúil. 66 00:02:45,370 --> 00:02:47,950 Abair, níos déanaí sa chlár is gá dúinn a chur nóid níos mó 67 00:02:47,950 --> 00:02:49,350 isteach inár liosta. 68 00:02:49,350 --> 00:02:51,480 A chur isteach i nód nua a thabhairt isteach ar ár liosta ar an eitilt, 69 00:02:51,480 --> 00:02:53,740 gach ní mór dúinn a dhéanamh ná a cuimhne a dháileadh le haghaidh an nód, 70 00:02:53,740 --> 00:02:55,630 plop i luach sonraí, 71 00:02:55,630 --> 00:02:59,070 agus ansin, áit é an áit ba mhaith linn a leasú trí na leideanna cuí. 72 00:02:59,070 --> 00:03:02,310 >> Mar shampla, má bhíomar ag iarraidh chun áit a nód i idir 73 00:03:02,310 --> 00:03:04,020 an nóid 2ú agus 3ú an liosta, 74 00:03:04,020 --> 00:03:06,800  ní ba mhaith linn a bhogadh na nóid 2 nó 3 ar chor ar bith. 75 00:03:06,800 --> 00:03:09,190 Abair táimid isteach an nód dearg. 76 00:03:09,190 --> 00:03:12,890 Gach ba mhaith linn a dhéanamh ná a leagtar ar an nód nua pointeoir seo chugainn 77 00:03:12,890 --> 00:03:14,870 a chur in iúl leis an nód 3 78 00:03:14,870 --> 00:03:18,580 agus rewire ansin an nód 2 ar pointeoir eile 79 00:03:18,580 --> 00:03:20,980 a chur in iúl ar ár nód nua. 80 00:03:22,340 --> 00:03:24,370 Mar sin, is féidir linn a Athraigh ár liostaí ar an eitilt 81 00:03:24,370 --> 00:03:26,090 ós rud é nach bhfuil ar ár ríomhaire ag brath ar innéacsú, 82 00:03:26,090 --> 00:03:28,990 ach ar nascadh leideanna a úsáid chun iad a stóráil. 83 00:03:29,120 --> 00:03:31,600 >> Liostaí sin féin, faoi mhíbhuntáiste de nasctha 84 00:03:31,600 --> 00:03:33,370 is é sin, murab ionann agus sraith statach, 85 00:03:33,370 --> 00:03:36,690 ní féidir leis an ríomhaire a léim díreach go dtí an lár an liosta. 86 00:03:38,040 --> 00:03:40,780 Ós rud é go bhfuil an ríomhaire chun cuairt a thabhairt gach nód sa liosta nasctha 87 00:03:40,780 --> 00:03:42,330 a fháil chun an céad ceann eile, 88 00:03:42,330 --> 00:03:44,770 tá sé ag dul a ghlacadh níos faide a fháil nód ar leith 89 00:03:44,770 --> 00:03:46,400 ná mar a bheadh ​​sé i sraith. 90 00:03:46,400 --> 00:03:48,660 Chun lean Bíonn an liosta iomlán ama comhréireach 91 00:03:48,660 --> 00:03:50,580 le fad an liosta, 92 00:03:50,580 --> 00:03:54,630 nó O (n) i nodaireacht asymptotic. 93 00:03:54,630 --> 00:03:56,510 Ar an meán, a bhaint amach ar aon nód 94 00:03:56,510 --> 00:03:58,800 freisin Tógann am i gcomhréir leis n. 95 00:03:58,800 --> 00:04:00,700 >> Anois, a ligean ar scríobh iarbhír roinnt cód 96 00:04:00,700 --> 00:04:02,000 go n-oibríonn le liostaí nasctha. 97 00:04:02,000 --> 00:04:04,220 Ligean le rá ba mhaith linn liosta nasctha de slánuimhreacha. 98 00:04:04,220 --> 00:04:06,140 Is féidir linn ionadaíocht a dhéanamh ar nód i ár liosta arís 99 00:04:06,140 --> 00:04:08,340 mar struct le 2 réimsí, 100 00:04:08,340 --> 00:04:10,750 luach slánuimhir a dtugtar 'val' 101 00:04:10,750 --> 00:04:13,490 agus pointeoir in aice leis an nód eile den liosta. 102 00:04:13,490 --> 00:04:15,660 Bhuel is cosúil, simplí go leor. 103 00:04:15,660 --> 00:04:17,220 >> Ligean le rá ba mhaith linn a scríobh le feidhm 104 00:04:17,220 --> 00:04:19,329 a thrasnaíonn an liosta agus priontaí amach na 105 00:04:19,329 --> 00:04:22,150 luach atá stóráilte sa nód deiridh den liosta. 106 00:04:22,150 --> 00:04:24,850 Bhuel, ciallaíonn sé go beidh orainn a Traverse na nóid ar an liosta 107 00:04:24,850 --> 00:04:27,310 chun teacht ar an ceann deireanach, ach ós rud é nach bhfuil muid ag cur 108 00:04:27,310 --> 00:04:29,250 nó a scriosadh rud ar bith, nach bhfuil muid ag iarraidh a athrú 109 00:04:29,250 --> 00:04:32,210 struchtúr inmheánach na leideanna eile ar an liosta. 110 00:04:32,210 --> 00:04:34,790 >> Mar sin, beidh orainn gá pointeoir go sonrach le haghaidh traversal 111 00:04:34,790 --> 00:04:36,940 a beidh muid ag glaoch 'crawler.' 112 00:04:36,940 --> 00:04:38,870 Beidh sé crawl trí gach gné den liosta 113 00:04:38,870 --> 00:04:41,190 trí na slabhra leideanna seo chugainn. 114 00:04:41,190 --> 00:04:43,750 Tá gach ní mór dúinn a stóráil ar pointeoir leis an nód 1, 115 00:04:43,750 --> 00:04:45,730 nó 'ceann' an liosta. 116 00:04:45,730 --> 00:04:47,370 Pointí Ceann leis an nód 1. 117 00:04:47,370 --> 00:04:49,120 Tá sé de chineál pointeoir-go-nód. 118 00:04:49,120 --> 00:04:51,280 >> Chun a fháil ar iarbhír an 1ú nód ar an liosta, 119 00:04:51,280 --> 00:04:53,250 ní mór dúinn a téigh i pointeoir seo, 120 00:04:53,250 --> 00:04:55,100 ach sular féidir linn téigh é, ní mór dúinn a sheiceáil 121 00:04:55,100 --> 00:04:57,180 má tá an biorán nialasach ar dtús. 122 00:04:57,180 --> 00:04:59,190 Má tá sé null, tá an liosta folamh, 123 00:04:59,190 --> 00:05:01,320 agus ba chóir dúinn a phriontáil amach teachtaireacht, toisc go bhfuil an liosta folamh, 124 00:05:01,320 --> 00:05:03,250 níl aon nód seo caite. 125 00:05:03,250 --> 00:05:05,190 Ach, a rá a ligean ar nach bhfuil an liosta folamh. 126 00:05:05,190 --> 00:05:08,340 Más rud é nach bhfuil sé, ansin ba chóir dúinn crawl tríd an liosta iomlán 127 00:05:08,340 --> 00:05:10,440 go dtí go bhfaigheann muid go dtí an nód deiridh an liosta, 128 00:05:10,440 --> 00:05:13,030 agus conas is féidir linn a insint má tá muid ag breathnú ar an nód deiridh sa liosta? 129 00:05:13,670 --> 00:05:16,660 >> Bhuel, má tá nód ar pointeoir eile faoin margadh saothair, 130 00:05:16,660 --> 00:05:18,320 tá a fhios againn táimid ag an deireadh 131 00:05:18,320 --> 00:05:22,390 ós rud é go mbeadh an pointeoir deiridh eile nach bhfuil aon nód seo chugainn ar an liosta a chur in iúl go. 132 00:05:22,390 --> 00:05:26,590 Tá dea-chleachtas é a choinneáil i gcónaí ar an nód seo caite pointeoir eile initialized nialasach 133 00:05:26,590 --> 00:05:30,800 go bhfuil maoin caighdeánaithe a foláirimh dúinn nuair atá bainte amach againn an deireadh an liosta. 134 00:05:30,800 --> 00:05:33,510 >> Mar sin, má tá crawler → chugainn faoin margadh saothair, 135 00:05:34,120 --> 00:05:38,270 cuimhnigh go bhfuil an chomhréir arrow aicearra chun dereferencing 136 00:05:38,270 --> 00:05:40,010 ar pointeoir go struct, rochtain a fháil ar ansin 137 00:05:40,010 --> 00:05:42,510 dá réimse eile coibhéiseach leis an awkward: 138 00:05:42,510 --> 00:05:48,750 (* Crawler). Seo chugainn. 139 00:05:49,820 --> 00:05:51,260 Nuair atá againn fuair an nód deiridh, 140 00:05:51,260 --> 00:05:53,830 ba mhaith linn a phriontáil crawler → Val, 141 00:05:53,830 --> 00:05:55,000 an luach sa nód reatha 142 00:05:55,000 --> 00:05:57,130 Tá a fhios againn an ceann deireanach. 143 00:05:57,130 --> 00:05:59,740 Seachas sin, más rud é nach bhfuil muid go fóill ag an nód deiridh sa liosta, 144 00:05:59,740 --> 00:06:02,340 ní mór dúinn a bhogadh ar aghaidh go dtí an nód seo chugainn ar an liosta 145 00:06:02,340 --> 00:06:04,750 agus seiceáil más rud é go an ceann deireanach. 146 00:06:04,750 --> 00:06:07,010 Chun seo a dhéanamh, a leag muid ach ár pointeoir crawler 147 00:06:07,010 --> 00:06:09,840 a chur in iúl leis an nód reatha luach seo chugainn, 148 00:06:09,840 --> 00:06:11,680 is é sin, an nód seo chugainn ar an liosta. 149 00:06:11,680 --> 00:06:13,030 Déantar é seo trí leagan 150 00:06:13,030 --> 00:06:15,280 crawler = crawler → seo chugainn. 151 00:06:16,050 --> 00:06:18,960 Ansin againn arís an próiseas seo, le lúb mar shampla, 152 00:06:18,960 --> 00:06:20,960 go dtí go bhfaighidh muid ag an nód deiridh. 153 00:06:20,960 --> 00:06:23,150 Mar sin, mar shampla, má bhí crawler dírithe ar cheann, 154 00:06:24,050 --> 00:06:27,710 a leag muid crawler a chur in iúl do crawler → seo chugainn, 155 00:06:27,710 --> 00:06:30,960 Is é atá mar an gcéanna leis an réimse eile den nód 1. 156 00:06:30,960 --> 00:06:33,620 Mar sin, tá anois ar ár crawler dírithe ar an nód 2, 157 00:06:33,620 --> 00:06:35,480 agus, arís, arís muid seo le lúb, 158 00:06:37,220 --> 00:06:40,610 go dtí go atá déanta againn go raibh an nód deiridh, is é sin, 159 00:06:40,610 --> 00:06:43,640 ina bhfuil an nód ar pointeoir eile atá dírithe ar nialasach. 160 00:06:43,640 --> 00:06:45,070 Agus ní mór dúinn é, 161 00:06:45,070 --> 00:06:47,620 tá muid fuair an nód deiridh sa liosta, agus a phriontáil a luach, 162 00:06:47,620 --> 00:06:50,800 linn a úsáid ach crawler → Val. 163 00:06:50,800 --> 00:06:53,130 >> Ní thrasnaíonn olc sin, ach cad faoi chur isteach? 164 00:06:53,130 --> 00:06:56,290 Let a rá ba mhaith linn a chur isteach slánuimhir isteach sa suíomh 4 165 00:06:56,290 --> 00:06:58,040 i liosta slánuimhir. 166 00:06:58,040 --> 00:07:01,280 Is é sin idir na nóid atá ann faoi láthair 3 agus 4. 167 00:07:01,280 --> 00:07:03,760 Arís, ní mór dúinn an liosta lean ach 168 00:07:03,760 --> 00:07:06,520 a fháil chun an ghné 3, an ceann táimid ag chur isteach i ndiaidh. 169 00:07:06,520 --> 00:07:09,300 Mar sin, ní mór dúinn a chruthú pointeoir crawler arís chun Traverse an liosta, 170 00:07:09,300 --> 00:07:11,400 seiceáil an bhfuil ár n-pointeoir nialasach ceann, 171 00:07:11,400 --> 00:07:14,810 agus más rud é nach bhfuil sé, pointe ár pointeoir crawler ag an nód ceann. 172 00:07:16,880 --> 00:07:18,060 Mar sin, táimid ag an eilimint 1. 173 00:07:18,060 --> 00:07:21,020 Ní mór dúinn dul ar aghaidh 2 heilimintí níos mó sular féidir linn a chur isteach, 174 00:07:21,020 --> 00:07:23,390 ionas gur féidir linn a úsáid le haghaidh lúb 175 00:07:23,390 --> 00:07:26,430 slánuimhir i = 1; i <3; i + + 176 00:07:26,430 --> 00:07:28,590 agus i ngach leagan den lúb, 177 00:07:28,590 --> 00:07:31,540 chun cinn ár n-pointeoir crawler ar aghaidh ag 1 nód 178 00:07:31,540 --> 00:07:34,570 ag seiceáil má tá an nód reatha réimse eile faoin margadh saothair, 179 00:07:34,570 --> 00:07:37,550 agus más rud é nach bhfuil sé, ár pointeoir crawler a bhogadh chuig an nód seo chugainn 180 00:07:37,550 --> 00:07:41,810 ag leagan síos comhionann é leis an nód reatha pointeoir seo chugainn. 181 00:07:41,810 --> 00:07:45,210 Mar sin, a deir ós rud é ár lúb le haghaidh a dhéanamh go 182 00:07:45,210 --> 00:07:47,550 faoi ​​dhó, 183 00:07:49,610 --> 00:07:51,190 tá muid bainte amach an nód 3, 184 00:07:51,190 --> 00:07:53,110 agus tá ár n-pointeoir crawler sroichte ach amháin nuair an nód tar éis 185 00:07:53,110 --> 00:07:55,270 a ba mhaith linn a chur isteach ar ár slánuimhir nua, 186 00:07:55,270 --> 00:07:57,050 conas is féidir linn i ndáiríre a dhéanamh ar an chur isteach? 187 00:07:57,050 --> 00:07:59,440 >> Bhuel, tá ár slánuimhir nua a chur isteach ar an liosta 188 00:07:59,440 --> 00:08:01,250 mar chuid dá struct nód féin, 189 00:08:01,250 --> 00:08:03,140 ós rud é seo i ndáiríre sraith de nóid. 190 00:08:03,140 --> 00:08:05,690 Mar sin, a ligean ar a pointeoir nua a dhéanamh ar nód 191 00:08:05,690 --> 00:08:08,910 ar a dtugtar 'new_node,' 192 00:08:08,910 --> 00:08:11,800 agus leag sé a chur in iúl chun cuimhne go bhfuil muid a leithdháileadh anois 193 00:08:11,800 --> 00:08:14,270 ar an gcarn le haghaidh an nód féin, 194 00:08:14,270 --> 00:08:16,000 agus cé mhéid a chuimhne is gá dúinn a leithroinnt? 195 00:08:16,000 --> 00:08:18,250 Bhuel, an méid nód, 196 00:08:20,450 --> 00:08:23,410 agus ba mhaith linn dá réimse Val leagtar dtí an tslánuimhir is go ba mhaith linn a chur isteach. 197 00:08:23,410 --> 00:08:25,590 Ligean le rá, 6. 198 00:08:25,590 --> 00:08:27,710 Anois, tá an nód dár luach slánuimhir. 199 00:08:27,710 --> 00:08:30,650 Tá sé freisin dea-chleachtas a thúsú an nód nua réimse seo chugainn 200 00:08:30,650 --> 00:08:33,690 a chur in iúl nialasach, 201 00:08:33,690 --> 00:08:35,080 ach anois cad é? 202 00:08:35,080 --> 00:08:37,179 >> Tá a athrú ar an struchtúr inmheánach an liosta 203 00:08:37,179 --> 00:08:40,409 agus na leideanna seo chugainn atá ar an liosta ar ann cheana féin 204 00:08:40,409 --> 00:08:42,950 Nóid 3 agus 4. 205 00:08:42,950 --> 00:08:46,560 Ós rud é na leideanna seo chugainn an t-ord an liosta, 206 00:08:46,560 --> 00:08:48,650 agus ós rud é tá muid isteach ar ár nód nua 207 00:08:48,650 --> 00:08:50,510 ceart i lár an liosta, 208 00:08:50,510 --> 00:08:52,010 Is féidir é a bheith ina giotán tricky. 209 00:08:52,010 --> 00:08:54,250 Tá sé seo toisc, cuimhnigh, is é ár ríomhaire 210 00:08:54,250 --> 00:08:56,250 ach amháin a fhios ag an suíomh na nóid ar an liosta 211 00:08:56,250 --> 00:09:00,400 mar gheall ar an leideanna romhainn atá stóráilte sa an nóid roimhe sin. 212 00:09:00,400 --> 00:09:03,940 Mar sin, má chaill muid riamh rian ar bith de na suímh seo, 213 00:09:03,940 --> 00:09:06,860 a rá trí athrú a dhéanamh ar cheann de na leideanna eile i ár liosta, 214 00:09:06,860 --> 00:09:09,880 mar shampla, a rá athraigh muid 215 00:09:09,880 --> 00:09:12,920 an nód 3 ar réimse eile 216 00:09:12,920 --> 00:09:15,610 a chur in iúl ar roinnt nód thar anseo. 217 00:09:15,610 --> 00:09:17,920 Ba mhaith linn a bheith as luck, toisc nach mbeadh orainn 218 00:09:17,920 --> 00:09:20,940 bhfuil aon smaoineamh nuair a aimsiú ar an gcuid eile den liosta, 219 00:09:20,940 --> 00:09:23,070 agus tá go léir go dona. 220 00:09:23,070 --> 00:09:25,080 Mar sin, ní mór dúinn a bheith cúramach i ndáiríre faoi an t-ordú 221 00:09:25,080 --> 00:09:28,360 ina bhfuilimid ag ionramháil ár leideanna seo chugainn le linn chur isteach. 222 00:09:28,360 --> 00:09:30,540 >> Mar sin, seo a shimpliú, a ligean ar rá go 223 00:09:30,540 --> 00:09:32,220 ár gcéad 4 nóid 224 00:09:32,220 --> 00:09:36,200 Tugtar A, B, C, agus D, agus na saigheada a ionadaíonn do na slabhra leideanna 225 00:09:36,200 --> 00:09:38,070 a nascadh leis an nóid. 226 00:09:38,070 --> 00:09:40,050 Mar sin, is gá dúinn a chur isteach ar ár nód nua 227 00:09:40,050 --> 00:09:42,070 i idir nóid C agus D. 228 00:09:42,070 --> 00:09:45,060 Tá sé ríthábhachtach é a dhéanamh san ord ceart, agus beidh mé léiríonn tú cén fáth. 229 00:09:45,060 --> 00:09:47,500 >> Ligean ar breathnú ar an bealach mícheart a dhéanamh ar dtús. 230 00:09:47,500 --> 00:09:49,490 Hey, tá a fhios againn go bhfuil an nód nua atá le teacht ceart tar éis C, 231 00:09:49,490 --> 00:09:51,910 sin a ligean leagtha pointeoir seo chugainn C 232 00:09:51,910 --> 00:09:54,700 a chur in iúl go new_node. 233 00:09:56,530 --> 00:09:59,180 Gach ceart is cosúil, maith go leor, ní mór dúinn ach a chríochnú suas anois ag 234 00:09:59,180 --> 00:10:01,580 a dhéanamh ar an nód nua pointe pointeoir in aice le D, 235 00:10:01,580 --> 00:10:03,250 ach fan, conas is féidir linn a dhéanamh? 236 00:10:03,250 --> 00:10:05,170 An rud amháin a d'fhéadfadh a insint dúinn nuair a bhí D, 237 00:10:05,170 --> 00:10:07,630 Bhí an pointeoir eile atá stóráilte cheana i C, 238 00:10:07,630 --> 00:10:09,870 ach rewrote againn ach go pointeoir 239 00:10:09,870 --> 00:10:11,170 a chur in iúl leis an nód nua, 240 00:10:11,170 --> 00:10:14,230 mar sin againn a thuilleadh go mbeadh aon leid nuair atá D i gcuimhne, 241 00:10:14,230 --> 00:10:17,020 agus tá muid chaill an chuid eile den liosta. 242 00:10:17,020 --> 00:10:19,000 Ní maith ar chor ar. 243 00:10:19,000 --> 00:10:21,090 >> Mar sin, conas a dhéanann muid an ceart? 244 00:10:22,360 --> 00:10:25,090 Gcéad dul síos, pointe an nód nua pointeoir chugainn ag D. 245 00:10:26,170 --> 00:10:28,990 Anois, leideanna araon an nód ar nua agus C chugainn 246 00:10:28,990 --> 00:10:30,660 Tá dírithe ar an nód céanna, D, 247 00:10:30,660 --> 00:10:32,290 ach sin fíneáil. 248 00:10:32,290 --> 00:10:35,680 Anois is féidir linn pointe pointeoir seo chugainn C ag an nód nua. 249 00:10:37,450 --> 00:10:39,670 Mar sin, tá muid é seo gan aon chailliúint sonraí. 250 00:10:39,670 --> 00:10:42,280 I cód, gurb é C an nód atá ann faoi láthair 251 00:10:42,280 --> 00:10:45,540 go bhfuil an pointeoir traversal crawler dírithe, 252 00:10:45,540 --> 00:10:50,400 agus tá D ionadú ag an nód aird ar an nód reatha réimse seo chugainn, 253 00:10:50,400 --> 00:10:52,600 nó crawler → seo chugainn. 254 00:10:52,600 --> 00:10:55,460 Mar sin, a leag muid ar dtús leis an nód nua pointeoir seo chugainn 255 00:10:55,460 --> 00:10:57,370 a chur in iúl do crawler → seo chugainn, 256 00:10:57,370 --> 00:11:00,880 ar an mbealach céanna a dúirt muid ba chóir pointeoir seo chugainn new_node ar 257 00:11:00,880 --> 00:11:02,780 pointe go D sa léaráid. 258 00:11:02,780 --> 00:11:04,540 Ansin, is féidir linn a leagtar ar an nód reatha pointeoir eile 259 00:11:04,540 --> 00:11:06,330 chun ár nód nua, 260 00:11:06,330 --> 00:11:10,980 díreach mar a bhí againn chun fanacht le pointe C new_node sa líníocht. 261 00:11:10,980 --> 00:11:12,250 Anois tá gach rud in ord, agus nach raibh againn a chailleadh 262 00:11:12,250 --> 00:11:14,490 rianú aon sonraí, agus bhí muid in ann ach 263 00:11:14,490 --> 00:11:16,200 bata ár nód nua i lár an liosta 264 00:11:16,200 --> 00:11:19,330 gan atógáil an rud ar fad nó fiú aistriú aon ghnéithe 265 00:11:19,330 --> 00:11:22,490 ar an mbealach ba mhaith linn a bhí acu a le sraith seasta fad. 266 00:11:22,490 --> 00:11:26,020 >> Mar sin, tá liostaí nasctha le, bunúsach, ach tábhachtach dinimiciúil sonraí struchtúr 267 00:11:26,020 --> 00:11:29,080 a bhfuil an dá buntáistí agus míbhuntáistí 268 00:11:29,080 --> 00:11:31,260 i gcomparáid le arrays agus struchtúir sonraí eile, 269 00:11:31,260 --> 00:11:33,350 agus is minic an cás san eolaíocht ríomhaireachta, 270 00:11:33,350 --> 00:11:35,640 tá sé tábhachtach go mbeadh a fhios nuair a úsáid gach uirlis, 271 00:11:35,640 --> 00:11:37,960 ionas gur féidir leat a roghnú an uirlis ceart don phost ceart. 272 00:11:37,960 --> 00:11:40,060 >> Le haghaidh cleachtas níos mó, déan iarracht feidhmeanna scríobh chuig 273 00:11:40,060 --> 00:11:42,080 scriosadh nóid ó liosta nasctha - 274 00:11:42,080 --> 00:11:44,050 cuimhnigh a bheith cúramach faoi an t-ordú ina bhfuil tú rearrange 275 00:11:44,050 --> 00:11:47,430 do leideanna seo chugainn chun a chinntiú nach gcailleann tú le smután de do liosta - 276 00:11:47,430 --> 00:11:50,200 nó feidhm ag comhaireamh an nóid i liosta nasctha, 277 00:11:50,200 --> 00:11:53,280 nó ceann spraoi, a athrú an t-ordú gach ceann de na nóid i liosta nasctha. 278 00:11:53,280 --> 00:11:56,090 >> Is é mo ainm Jackson STEINKAMP, is é seo CS50.