1 00:00:00,000 --> 00:00:08,532 >> [Seinm ceoil] 2 00:00:08,532 --> 00:00:12,060 >> ZAMYLA Chan: An chéad rud a d'fhéadfadh tú Tá fógra faoi aimsiú go bhfuil muid cheana féin 3 00:00:12,060 --> 00:00:13,450 tar cód scríofa dúinn. 4 00:00:13,450 --> 00:00:15,160 Seo ar a dtugtar cód dáilte. 5 00:00:15,160 --> 00:00:18,000 Mar sin, nach bhfuil againn ach scríobh ár gcuid féin ó scratch cód an níos mó. 6 00:00:18,000 --> 00:00:22,800 Ina ionad sin, tá muid ag líonadh isteach na bearnaí i roinnt cód a bhí ann cheana. 7 00:00:22,800 --> 00:00:27,790 >> Leideanna an clár find.c ar uimhreacha a líonadh isteach ar an coca féir cuardaigh, an 8 00:00:27,790 --> 00:00:32,189 coca féir d'úsáideoir bhráid snáthaid, agus a dhéanann sé é seo trí ghlaoch a shórtáil agus a 9 00:00:32,189 --> 00:00:35,590 cuardaigh, feidhmeanna sainithe i helpers.c. 10 00:00:35,590 --> 00:00:37,670 Mar sin, tá find.c scríofa cheana féin. 11 00:00:37,670 --> 00:00:40,770 Is é do phost chun Cúntóirí scríobh. 12 00:00:40,770 --> 00:00:41,870 >> Mar sin, cad atá á dhéanamh againn? 13 00:00:41,870 --> 00:00:44,210 Táimid ag cur chun feidhme dhá fheidhm. 14 00:00:44,210 --> 00:00:49,030 Cuardaigh, a tuairisceáin fíor má luach Tá fáil ar an haystack, ag filleadh 15 00:00:49,030 --> 00:00:51,370 bréagach má tá an luach nach bhfuil sa haystack. 16 00:00:51,370 --> 00:00:57,990 Agus ansin tá muid a chur i bhfeidhm freisin saghas a socraíonn an eagar ar a dtugtar luachanna. 17 00:00:57,990 --> 00:00:59,960 >> Mar sin, a ligean ar dul i ngleic cuardaigh. 18 00:00:59,960 --> 00:01:04,560 Déantar an cuardach de i bhfeidhm faoi láthair mar Cuardach líneach, ach is féidir leat a dhéanamh i bhfad 19 00:01:04,560 --> 00:01:05,550 níos fearr ná sin. 20 00:01:05,550 --> 00:01:09,910 Tá cuardaigh Líneach i bhfeidhm i O ama n, a bhfuil go leor mall. 21 00:01:09,910 --> 00:01:13,850 Cé, is féidir é a chuardach aon liosta a thugtar dó. 22 00:01:13,850 --> 00:01:20,130 Is é do phost chun cuardach dénártha a chur i bhfeidhm, a rith am O logáil n. 23 00:01:20,130 --> 00:01:21,130 Sin go leor go tapa. 24 00:01:21,130 --> 00:01:23,170 >> Ach níl a shonrú. 25 00:01:23,170 --> 00:01:27,600 Is féidir cuardach Dénártha cuardach ach trí liostaí réamh-eagar. 26 00:01:27,600 --> 00:01:30,370 Cén fáth go bhfuil sin? 27 00:01:30,370 --> 00:01:32,620 >> Bhuel a ligean ar breathnú ar shampla. 28 00:01:32,620 --> 00:01:36,280 Mar gheall ar sraith de luachanna, an coca féir, táimid ag dul a bheith ag breathnú 29 00:01:36,280 --> 00:01:37,130 do snáthaid. 30 00:01:37,130 --> 00:01:40,460 Agus sa sampla seo, an tslánuimhir is trí. 31 00:01:40,460 --> 00:01:44,130 Is é an bealach a oibríonn cuardaigh dénártha go i gcomparáid againn ar an luach lár 32 00:01:44,130 --> 00:01:48,370 an sraith go dtí an tsnáthaid, i bhfad cosúil le conas D'oscail muid Fón-Eolaire go dtí an lár 33 00:01:48,370 --> 00:01:50,660 leathanach i seachtain nialas. 34 00:01:50,660 --> 00:01:54,650 >> Mar sin, tar éis a chur i gcomparáid leis an luach sa lár a an tsnáthaid, is féidir leat a shábháil ceachtar an 35 00:01:54,650 --> 00:01:58,530 chlé nó an leath ceart an eagar trí tightening do bounds. 36 00:01:58,530 --> 00:02:03,390 Sa chás seo, ós rud é trí, ár snáthaid, Tá níos lú ná 10, an luach lár, an 37 00:02:03,390 --> 00:02:05,990 Bíonn sé de cheart cheangal laghdú. 38 00:02:05,990 --> 00:02:08,400 Ach iarracht a dhéanamh do bounds chomh daingean agus is féidir. 39 00:02:08,400 --> 00:02:11,630 Más rud é nach bhfuil an luach lár an tsnáthaid, ansin a fhios agat go ní gá duit a 40 00:02:11,630 --> 00:02:13,010 san áireamh é i do chuardach. 41 00:02:13,010 --> 00:02:17,310 Mar sin, tá tú ceart cheangal féidir níos doichte an Rá cuardaigh ach píosa beag bídeach níos mó, 42 00:02:17,310 --> 00:02:21,770 agus mar sin de agus mar sin de go dtí go leat teacht ar do snáthaid. 43 00:02:21,770 --> 00:02:23,480 >> Mar sin, cad a dhéanann an pseudocode cuma mhaith? 44 00:02:23,480 --> 00:02:28,420 Bhuel cé go bhfuil muid ag lorg fós trí an liosta agus tá fós heilimintí a 45 00:02:28,420 --> 00:02:33,690 breathnú i, a chur orainn an lár an liosta, agus go bhfuil luach lár a chur i gcomparáid le 46 00:02:33,690 --> 00:02:34,950 ár snáthaid. 47 00:02:34,950 --> 00:02:37,310 Má tá siad ar cóimhéid, a chiallaíonn go atá againn Fuair ​​an tsnáthaid, agus is féidir linn 48 00:02:37,310 --> 00:02:38,990 ar ais fíor. 49 00:02:38,990 --> 00:02:42,870 >> Seachas sin, má tá an tsnáthaid níos lú ná an luach lár, ansin, ciallaíonn go bhfuil muid 50 00:02:42,870 --> 00:02:47,280 Is féidir scriosadh an leath ceart, agus díreach cuardach a dhéanamh ar an taobh clé den eagar. 51 00:02:47,280 --> 00:02:51,090 Seachas sin, beidh orainn a chuardach ar an taobh na láimhe deise den eagar. 52 00:02:51,090 --> 00:02:54,410 Agus ag an deireadh, má tá tú ní gá aon níos mó gnéithe ar chlé chun cuardach a dhéanamh ach tú 53 00:02:54,410 --> 00:02:58,050 Ní bhfuarthas an do snáthaid go fóill, ansin tú ar ais bréagach mar gheall ar an tsnáthaid 54 00:02:58,050 --> 00:03:01,890 Ní cinnte sa haystack. 55 00:03:01,890 --> 00:03:05,270 >> Anois, an rud néata faoi seo pseudocode Tá i cuardaigh dénártha gur féidir é a bheith 56 00:03:05,270 --> 00:03:09,940 léiriú mar ceachtar atriallach nó cur i bhfeidhm athchúrsach. 57 00:03:09,940 --> 00:03:13,810 Mar sin, bheadh ​​sé Athchúrsach má iarr tú an fheidhm cuardaigh laistigh de na gcuardach 58 00:03:13,810 --> 00:03:17,350 feidhmiú ar cheachtar leath de na eagar. 59 00:03:17,350 --> 00:03:21,030 Beidh muid a chlúdach athchúrsáil le beagán níos déanaí sa Ar ndóigh, ach tá a fhios go bhfuil sé 60 00:03:21,030 --> 00:03:24,190 rogha más mian leat chun iarracht a dhéanamh. 61 00:03:24,190 --> 00:03:26,030 >> Anois, a ligean ar breathnú ar an saghas. 62 00:03:26,030 --> 00:03:30,750 Sórtáil Bíonn eagar agus an tslánuimhir n, a bhfuil an méid de na eagar. 63 00:03:30,750 --> 00:03:34,030 Anois, tá cineálacha éagsúla éagsúla de shaghas, agus is féidir leat breathnú ar roinnt 64 00:03:34,030 --> 00:03:36,370 shorts do demos agus na mínithe. 65 00:03:36,370 --> 00:03:39,580 An cineál ar ais le haghaidh ár Tá feidhm saghas neamhní. 66 00:03:39,580 --> 00:03:43,580 Mar sin, ciallaíonn sé sin nach bhfuil muid ag dul a thabhairt ar ais ar aon eagar ó saghas. 67 00:03:43,580 --> 00:03:48,140 Táimid ag dul i ndáiríre a athrú ar an an- sraith ritheadh ​​go isteach chugainn. 68 00:03:48,140 --> 00:03:52,290 >> Agus sin indéanta mar go bhfuil arrays a rith ag tagairt i C. Anois táimid go mbainfidh 69 00:03:52,290 --> 00:03:55,290 Féach níos mó faoi seo níos déanaí, ach tá an difríocht bhunúsach atá idir a rith 70 00:03:55,290 --> 00:03:59,340 i rud éigin cosúil le slánuimhir agus a rith in eagar é, go bhfuil tú nuair 71 00:03:59,340 --> 00:04:03,490 pas a fháil sa slánuimhir, tá C ag dul ach a cóip a dhéanamh den tslánuimhir agus pas a 72 00:04:03,490 --> 00:04:04,450 sé leis an fheidhm. 73 00:04:04,450 --> 00:04:08,530 Ní bheidh an athróg bunaidh a athrú nuair a bhfuil an fheidhm críochnaithe. 74 00:04:08,530 --> 00:04:12,480 Le sraith, ar an láimh eile, tá sé nach bhfuil ag dul chun cóip a dhéanamh, agus beidh tú 75 00:04:12,480 --> 00:04:17,910 iarbhír a eagarthóireacht ar an an-eagar féin. 76 00:04:17,910 --> 00:04:21,269 >> Dá bhrí sin tá cineál amháin de chineál an saghas roghnú. 77 00:04:21,269 --> 00:04:24,750 Oibríonn an saghas roghnú trí ag tosú ag an tús, agus ansin iterate tú 78 00:04:24,750 --> 00:04:26,820 os cionn agus teacht ar an eilimint is lú. 79 00:04:26,820 --> 00:04:30,710 Agus ansin babhtála tú go lú eilimint leis an chéad cheann. 80 00:04:30,710 --> 00:04:34,360 Agus ansin bogadh tú go dtí an dara gné , Teacht ar an chéad cheann eile is lú 81 00:04:34,360 --> 00:04:38,320 eilimint, agus ansin babhtála go bhfuil an an dara eilimint sa eagar mar gheall ar 82 00:04:38,320 --> 00:04:41,100 Is é an chéad ghné curtha in eagar cheana féin. 83 00:04:41,100 --> 00:04:45,370 Agus mar sin ansin leanann tú ar aghaidh le haghaidh gach eilimint a aithint ar an lú 84 00:04:45,370 --> 00:04:47,690 luach agus malartú sé amach. 85 00:04:47,690 --> 00:04:53,460 >> Chun liom ionann 0, an chéad eilimint go n lúide 1, tá tú ag dul a chur i gcomparáid 86 00:04:53,460 --> 00:04:57,820 gach luach chugainn ina dhiaidh sin agus a aimsiú an t-innéacs ar an luach íosta. 87 00:04:57,820 --> 00:05:02,520 Nuair a fhaigheann tú an t-innéacs luach minimum, is féidir leat babhtála go bhfuil luach eagar 88 00:05:02,520 --> 00:05:05,930 íosta agus eagar I. 89 00:05:05,930 --> 00:05:09,760 >> Eile de chineál saghas gur féidir leat Tá a chur i bhfeidhm mboilgeog saghas. 90 00:05:09,760 --> 00:05:14,380 Mar sin, béim arís mboilgeog saghas thar an liosta i gcomparáid eilimintí aice láimhe agus 91 00:05:14,380 --> 00:05:17,720 swapping na heilimintí sin a Is iad san ord mícheart. 92 00:05:17,720 --> 00:05:22,380 Agus ar an mbealach seo, an eilimint is mó Beidh mboilgeog go dtí deireadh. 93 00:05:22,380 --> 00:05:28,070 Agus is é an liosta in eagar uair amháin nach bhfuil níos mó gnéithe sin a bhabhtáil. 94 00:05:28,070 --> 00:05:31,920 >> Mar sin, siúd dhá shampla den sórt halgartaim gur féidir leat a chur i bhfeidhm le haghaidh 95 00:05:31,920 --> 00:05:33,230 an clár aimsiú. 96 00:05:33,230 --> 00:05:37,350 Nuair a chríochnaíonn tú a shórtáil, agus atá tú cuardaigh a dhéanamh, tá tú críochnaithe. 97 00:05:37,350 --> 00:05:39,720 Is é mo ainm Zamyla, agus tá sé seo CS50. 98 00:05:39,720 --> 00:05:46,987 >> [Seinm ceoil]