1 00:00:00,000 --> 00:00:00,890 2 00:00:00,890 --> 00:00:03,835 >> [MUSIC SPILLE] 3 00:00:03,835 --> 00:00:10,597 4 00:00:10,597 --> 00:00:12,030 >> SPEAKER 1: Greit, alle. 5 00:00:12,030 --> 00:00:14,330 Velkommen til ditt siste avsnitt med meg. 6 00:00:14,330 --> 00:00:16,160 Det har vært ganske semesteret. 7 00:00:16,160 --> 00:00:21,290 Jeg kan ikke tro at dette er, som, uke 12 eller 11, noe sånt. 8 00:00:21,290 --> 00:00:24,520 Men fordi det er vår siste avsnitt, har vi massevis av godteri. 9 00:00:24,520 --> 00:00:27,090 Og jeg kommer til å prøve og prep deg så godt som jeg 10 00:00:27,090 --> 00:00:30,270 kan for din quiz på onsdag. 11 00:00:30,270 --> 00:00:34,060 Så sannsynligvis ikke den beste måten å, lignende, endeseksjon med quiz gjennomgang. 12 00:00:34,060 --> 00:00:35,630 Men vi skal prøve og gjøre det morsomt. 13 00:00:35,630 --> 00:00:36,720 Og det er alltid godteri. 14 00:00:36,720 --> 00:00:39,070 Så forhåpentligvis, som vil gjøre det bedre. 15 00:00:39,070 --> 00:00:43,800 >> Din quiz kommer til å være ganske mye det samme som Quiz Zero. 16 00:00:43,800 --> 00:00:46,840 Det kommer til å være den samme form, samme lengde. 17 00:00:46,840 --> 00:00:50,065 Du vil være i rom spredt tvers av campus, fordi det 18 00:00:50,065 --> 00:00:54,660 er nær 900 av dere, og vi kan ikke alle holder deg i rom som dette. 19 00:00:54,660 --> 00:00:58,610 Så sørg for å se på alle Quiz En dokumentasjon 20 00:00:58,610 --> 00:01:02,410 online på cs50.harvard.edu i kveld eller i morgen kveld. 21 00:01:02,410 --> 00:01:06,070 Sørg for at du vet hvor du er går, hva du trenger å ta. 22 00:01:06,070 --> 00:01:10,052 Virkelig, du trenger bare å ta deg selv og en blyant, og du bør være i orden. 23 00:01:10,052 --> 00:01:11,760 Spørsmålene vil være veldig mye den samme. 24 00:01:11,760 --> 00:01:15,250 Det vil trolig være et par multiple choice, et par korte svaret, 25 00:01:15,250 --> 00:01:22,610 noen koding, kanskje noen sant / usant, matchende slags ting. 26 00:01:22,610 --> 00:01:27,790 Så du bør ikke være for overrasket av format. 27 00:01:27,790 --> 00:01:31,380 >> Hva som kan være overraskende er den lengde, som i tidligere år, 28 00:01:31,380 --> 00:01:32,970 har vært mye lenger. 29 00:01:32,970 --> 00:01:38,060 I mitt år, jeg har ikke en eneste venn at jeg husker endt eksamen. 30 00:01:38,060 --> 00:01:41,100 Det var som multippel sider tomt. 31 00:01:41,100 --> 00:01:43,710 Så lengden kan være slags forvirrende 32 00:01:43,710 --> 00:01:47,554 nettopp fordi det i noen år, har det vært mye lenger enn Quiz One. 33 00:01:47,554 --> 00:01:49,720 Jeg aner ikke hva det er kommer til å bli som i år, 34 00:01:49,720 --> 00:01:51,640 men det er noe å være klar over. 35 00:01:51,640 --> 00:01:53,390 >> I tillegg, vanskelighetsgrad mennesker har en tendens 36 00:01:53,390 --> 00:01:56,660 å finne Quiz En mye mer vanskeligere enn Quiz Zero. 37 00:01:56,660 --> 00:01:58,590 Igjen, vet du, hvis du slags vandre 38 00:01:58,590 --> 00:02:01,590 ut følelsen litt urolig fordi du gjorde det ikke så bra som du trodde 39 00:02:01,590 --> 00:02:04,430 du vil eller du føler at du ikke gjorde det gjøre så godt som du gjorde på Quiz One, 40 00:02:04,430 --> 00:02:07,429 husk at det er sannsynligvis en mange andre mennesker føler det slik. 41 00:02:07,429 --> 00:02:09,800 Jeg var definitivt en av dem. 42 00:02:09,800 --> 00:02:11,770 Quiz en, som kastet meg for en loop. 43 00:02:11,770 --> 00:02:14,540 Og mine venner har denne store bilde av dem på JP Licks 44 00:02:14,540 --> 00:02:17,834 type med disse enorme iskremer, å være som, Quiz One, 45 00:02:17,834 --> 00:02:19,250 og ser ut som de er i tårer. 46 00:02:19,250 --> 00:02:21,860 >> Så det er en generell følelse. 47 00:02:21,860 --> 00:02:25,257 Det er en tøff test, det er en tøff quiz. 48 00:02:25,257 --> 00:02:28,340 Selvfølgelig, hvis du kommer ut og du føler at du vugget det, flott for deg. 49 00:02:28,340 --> 00:02:32,050 Men vet at du sannsynligvis not-- du er nesten mest definitivt ikke 50 00:02:32,050 --> 00:02:36,020 alene hvis du går ut følelsen som, eh, sannsynligvis kunne ha fått bedre. 51 00:02:36,020 --> 00:02:37,003 Det er tøft. 52 00:02:37,003 --> 00:02:37,503 Mm-hm. 53 00:02:37,503 --> 00:02:39,120 >> PUBLIKUM: Hvor mye er det verdt i forhold til [uhørbart]? 54 00:02:39,120 --> 00:02:40,411 >> SPEAKER 1: Det er verdt det samme. 55 00:02:40,411 --> 00:02:41,730 Yeah. 56 00:02:41,730 --> 00:02:45,150 Men igjen, det er også kommer til å være påvirkes av hvordan resten av klassen 57 00:02:45,150 --> 00:02:48,766 gjør, hvordan din del gjør det, hvordan du har forbedret seg over tid. 58 00:02:48,766 --> 00:02:50,390 Gradering er en liten bit av en svart boks. 59 00:02:50,390 --> 00:02:54,310 Så hva det faktiske antallet eller prosentandel du få 60 00:02:54,310 --> 00:02:56,790 er ikke nødvendigvis liker direkte korrelert med karakteren 61 00:02:56,790 --> 00:02:57,790 du kommer til å få. 62 00:02:57,790 --> 00:03:00,210 Det er mye av faktorer som går inn i den. 63 00:03:00,210 --> 00:03:04,090 >> Så med det, kommer vi til å gå gjennom noen quiz gjennomgang. 64 00:03:04,090 --> 00:03:07,600 Jeg kommer bare til å kjøre dette som forrige gang for dere. 65 00:03:07,600 --> 00:03:10,960 Jeg har alle svarene å Quiz En av fjoråret. 66 00:03:10,960 --> 00:03:14,260 Så hvis dere ønsker å trekke at opp på dine egne datamaskiner, 67 00:03:14,260 --> 00:03:18,100 hvis du har tatt denne eksamen før og du har spørsmål, 68 00:03:18,100 --> 00:03:20,090 Jeg tenkte vi kunne bare gå gjennom noen 69 00:03:20,090 --> 00:03:22,380 av de mer vanskelige de på det. 70 00:03:22,380 --> 00:03:25,810 Slik at vi kan snakke om det, kanskje få litt mer innsikt 71 00:03:25,810 --> 00:03:29,260 inn i intuisjon bak noen av disse spørsmålene, hvordan å nærme seg dem. 72 00:03:29,260 --> 00:03:34,420 >> Også, som forrige gang, Jeg har en 100-lysbilde dekk 73 00:03:34,420 --> 00:03:37,760 som har i utgangspunktet alle av lysbildene som jeg 74 00:03:37,760 --> 00:03:40,360 har forberedt for forrige seksjoner siden siste quiz-- jeg 75 00:03:40,360 --> 00:03:41,540 har i dette dekk. 76 00:03:41,540 --> 00:03:43,960 Så vi kan gå gjennom ganske mye annet 77 00:03:43,960 --> 00:03:46,450 at vi har snakket om på forhånd at kanskje du 78 00:03:46,450 --> 00:03:49,130 ønsker litt mer avklaring på. 79 00:03:49,130 --> 00:03:50,320 Vi kunne gjøre det først. 80 00:03:50,320 --> 00:03:52,567 >> Men ellers er jeg super glad bare for å slags arbeid 81 00:03:52,567 --> 00:03:53,900 gjennom disse problemene med deg. 82 00:03:53,900 --> 00:03:58,700 Og jeg er egentlig her for å fokusere på hva dere synes 83 00:03:58,700 --> 00:04:01,466 ville være viktigst å fokusere på. 84 00:04:01,466 --> 00:04:03,466 Som, selvsagt, alle denne ting er viktig. 85 00:04:03,466 --> 00:04:07,444 86 00:04:07,444 --> 00:04:10,610 Spesielt når vi går gjennom Quiz One, Jeg skal definitivt påpeke ting som, 87 00:04:10,610 --> 00:04:13,380 oh, dette kan være noe du virkelig ønsker å vite 88 00:04:13,380 --> 00:04:15,170 eller du ønsker å ha på din jukselapp. 89 00:04:15,170 --> 00:04:18,100 Jeg skal fortelle deg ting som vi på en måte gå gjennom. 90 00:04:18,100 --> 00:04:22,079 >> Så på dette notatet, er det noen ting at dere ønsker å gå over? 91 00:04:22,079 --> 00:04:26,050 Også, hvis jeg ikke har det i mitt dekk, vi kan trekke opp noe på nettet, 92 00:04:26,050 --> 00:04:28,340 eller vi kan prøve og gjøre opp et eksempel på fly. 93 00:04:28,340 --> 00:04:32,756 Men noen konsepter som du gutta er litt uklar på. 94 00:04:32,756 --> 00:04:33,880 [? Brian,?] Gjorde du have-- 95 00:04:33,880 --> 00:04:36,134 >> PUBLIKUM: Å, er det kumulative? 96 00:04:36,134 --> 00:04:38,300 Lignende er ting på Quiz Zero kommer til å være her? 97 00:04:38,300 --> 00:04:41,100 >> SPEAKER 1: Det er kumulative, men det er mye mer 98 00:04:41,100 --> 00:04:44,330 av en vekt på ting siden din siste quiz. 99 00:04:44,330 --> 00:04:48,410 Så åpenbart, dere har lært om variabler, og løkker, 100 00:04:48,410 --> 00:04:49,380 og conditionals. 101 00:04:49,380 --> 00:04:52,030 Og det er ikke som de som bare gå bort, fordi de er 102 00:04:52,030 --> 00:04:55,210 åpenbart iboende til alt annet som vi har lært nå. 103 00:04:55,210 --> 00:04:58,560 104 00:04:58,560 --> 00:05:01,260 >> Det kan være et spørsmål på den slags, eller der 105 00:05:01,260 --> 00:05:03,710 kan være et spørsmål på ulike søk. 106 00:05:03,710 --> 00:05:07,000 Eller det kan være et par spørsmål om kanskje noe du 107 00:05:07,000 --> 00:05:09,230 har å gjøre med kompilering eller ulike feil. 108 00:05:09,230 --> 00:05:12,360 Men hvis du har sett på Quiz En fra i fjor, 109 00:05:12,360 --> 00:05:15,870 du vil legge merke til at det er veldig mye fokusert på ting 110 00:05:15,870 --> 00:05:18,710 som har skjedd siden forrige quiz. 111 00:05:18,710 --> 00:05:20,270 >> Hvorfor er denne døren alltid låst? 112 00:05:20,270 --> 00:05:21,555 Det plager meg virkelig. 113 00:05:21,555 --> 00:05:25,310 Fordi jeg prøver alltid å gå gjennom den. 114 00:05:25,310 --> 00:05:28,450 >> Så det er ganske mye hvordan quizen vil bli. 115 00:05:28,450 --> 00:05:32,360 Så er det noen begreper som dere ønsker å gå over? 116 00:05:32,360 --> 00:05:35,210 Eller vi kan hoppe rett inn bare se på Quiz One 117 00:05:35,210 --> 00:05:39,570 fra i fjor og type kommer gjennom praksis spørsmål der. 118 00:05:39,570 --> 00:05:41,220 Vi kan også bytte frem og tilbake. 119 00:05:41,220 --> 00:05:43,130 Dette er ikke en engangs slags ting. 120 00:05:43,130 --> 00:05:46,367 121 00:05:46,367 --> 00:05:46,950 Eventuelle spørsmål? 122 00:05:46,950 --> 00:05:49,688 123 00:05:49,688 --> 00:05:50,188 Ja. 124 00:05:50,188 --> 00:05:51,950 >> PUBLIKUM: Kan jeg spørre en Spørsmålet om another-- 125 00:05:51,950 --> 00:05:52,950 >> SPEAKER 1: Another one? 126 00:05:52,950 --> 00:05:54,500 >> PUBLIKUM: Dette er fra et annet år. 127 00:05:54,500 --> 00:05:54,756 >> SPEAKER 1: Yeah. 128 00:05:54,756 --> 00:05:56,068 Vi kan også gjøre et år. 129 00:05:56,068 --> 00:05:57,820 >> PUBLIKUM: OK. 130 00:05:57,820 --> 00:05:58,710 Så på 2011. 131 00:05:58,710 --> 00:06:00,135 >> SPEAKER 1: 2011. 132 00:06:00,135 --> 00:06:02,880 Ooh, som var året før meg. 133 00:06:02,880 --> 00:06:04,032 La meg trekke dette opp. 134 00:06:04,032 --> 00:06:04,934 >> PUBLIKUM: Jeg tror. 135 00:06:04,934 --> 00:06:07,920 136 00:06:07,920 --> 00:06:12,842 >> SPEAKER 1: Dette aspektet Forholdet er å kaste meg av. 137 00:06:12,842 --> 00:06:14,435 >> PUBLIKUM: 11 og 12. 138 00:06:14,435 --> 00:06:16,637 >> SPEAKER 1: 11 og 12. 139 00:06:16,637 --> 00:06:17,415 OK. 140 00:06:17,415 --> 00:06:18,790 Vel, her, hvorfor kan ikke vi gjøre dette? 141 00:06:18,790 --> 00:06:22,390 Du guys-- alle bare ta et par minutter til å se gjennom spørrekonkurranser. 142 00:06:22,390 --> 00:06:23,759 Og vi vil utarbeide en liste. 143 00:06:23,759 --> 00:06:25,050 Og så skal vi gå gjennom dem. 144 00:06:25,050 --> 00:06:25,990 All right? 145 00:06:25,990 --> 00:06:28,530 Mens jeg får en haug av denne ting satt opp. 146 00:06:28,530 --> 00:06:29,440 OK. 147 00:06:29,440 --> 00:06:31,850 Jeg kommer bare til å skrive ting ned på papiret. 148 00:06:31,850 --> 00:06:47,460 149 00:06:47,460 --> 00:07:36,009 >> 2011, 11 og 12? 150 00:07:36,009 --> 00:07:38,880 Jeg kommer bare til å endre denne skjermen. 151 00:07:38,880 --> 00:07:39,380 OK. 152 00:07:39,380 --> 00:07:40,320 Det er bedre. 153 00:07:40,320 --> 00:07:45,490 154 00:07:45,490 --> 00:07:47,700 Dette over. 155 00:07:47,700 --> 00:08:04,632 156 00:08:04,632 --> 00:08:06,130 OK. 157 00:08:06,130 --> 00:08:08,590 >> Alle andre som har noen som de ønsker å starte med? 158 00:08:08,590 --> 00:08:11,270 159 00:08:11,270 --> 00:08:20,360 Også, glemte å si, hvis du ønsker mer av en haug med folk snakker på deg 160 00:08:20,360 --> 00:08:23,182 og bare gi deg en sprekk kurs i de siste seks ukene, 161 00:08:23,182 --> 00:08:24,890 vi kjører en anmeldelse sesjon fra 07:00 162 00:08:24,890 --> 00:08:29,580 til 08:30 i kveld i Northwest B103, som også skjedde 163 00:08:29,580 --> 00:08:34,219 siste gang, hvor det kommer til å være meg, Hannah, Daven, med Gabe 164 00:08:34,219 --> 00:08:38,799 og Rob slags hjelpende fra sidelinjen av bare slags kaste alle 165 00:08:38,799 --> 00:08:41,630 informasjon som du kanskje ønsker å ha på din jukselapp, 166 00:08:41,630 --> 00:08:43,101 slash, vet generelt der. 167 00:08:43,101 --> 00:08:44,600 PUBLIKUM: Det er også på nettet, ikke sant? 168 00:08:44,600 --> 00:08:45,766 SPEAKER 1: Det er også online. 169 00:08:45,766 --> 00:08:48,500 Så du kan også holde ut av dette icky vær, gå til din dorm, 170 00:08:48,500 --> 00:08:50,620 og live-streame den hvis du ønsker. 171 00:08:50,620 --> 00:08:52,420 Jeg er sikker på at mange av people-- jeg vet at jeg ville 172 00:08:52,420 --> 00:08:55,541 være å gjøre det hvis jeg var i dine sko. 173 00:08:55,541 --> 00:08:56,040 OK. 174 00:08:56,040 --> 00:08:59,152 Så hvorfor ikke vi starte with-- mens du guys-- forhåpentligvis, 175 00:08:59,152 --> 00:09:00,110 du leter gjennom. 176 00:09:00,110 --> 00:09:03,068 Hvis ikke, kan jeg bare begynne å jobbe gjennom forskjellige ting på Quiz One 177 00:09:03,068 --> 00:09:05,490 fra i fjor med mindre du har konkrete spørsmål. 178 00:09:05,490 --> 00:09:09,740 >> Vi begynner med dette spørsmålet her om stabler. 179 00:09:09,740 --> 00:09:17,940 Så gjør alle huske slag av hva en stabel er? 180 00:09:17,940 --> 00:09:21,760 Hvordan vi pleier to-- kan noen bare gi meg en generell beskrivelse av en stabel? 181 00:09:21,760 --> 00:09:23,300 En type datastruktur. 182 00:09:23,300 --> 00:09:23,900 OK. 183 00:09:23,900 --> 00:09:25,650 Så det er en av de datastrukturer som vi 184 00:09:25,650 --> 00:09:30,620 forventer at du skal være kjent with-- som stabler, matriser, køer, så videre. 185 00:09:30,620 --> 00:09:31,120 Ja. 186 00:09:31,120 --> 00:09:33,005 >> PUBLIKUM: Som første In, Last Out, noe. 187 00:09:33,005 --> 00:09:34,810 >> SPEAKER 1: Det er First In, Last Out. 188 00:09:34,810 --> 00:09:35,310 Nøyaktig. 189 00:09:35,310 --> 00:09:37,830 Så en stabel er nøyaktig hva vi pleier å tenke 190 00:09:37,830 --> 00:09:39,720 om når vi tenker av en stabel av ting. 191 00:09:39,720 --> 00:09:41,024 Slik at en stabel av plater. 192 00:09:41,024 --> 00:09:43,440 Den første platen du legger ned kommer til å være på bunnen, 193 00:09:43,440 --> 00:09:45,981 og det kommer til å bli den siste en som du fjerner på slutten. 194 00:09:45,981 --> 00:09:47,180 Fordi de stakk opp. 195 00:09:47,180 --> 00:09:50,390 >> Og man tar en ut av bunnen, typisk, ting krasje og bryte. 196 00:09:50,390 --> 00:09:53,150 Så stabler du kan tenke på akkurat som en stabel med tallerkener. 197 00:09:53,150 --> 00:09:57,707 Eller eksempelet vi liker alltid å bruke er i D-hallene, har du skuffene, 198 00:09:57,707 --> 00:09:59,790 de er alle stablet opp, og du tar fra toppen. 199 00:09:59,790 --> 00:10:02,880 Så den siste i er den første ut. 200 00:10:02,880 --> 00:10:03,580 OK. 201 00:10:03,580 --> 00:10:08,850 >> Så i tilfelle her, vi ser vi have-- jeg lurer på 202 00:10:08,850 --> 00:10:14,050 hvis jeg kan faktisk zoome inn litt. 203 00:10:14,050 --> 00:10:15,730 Så vi har denne konstruere her. 204 00:10:15,730 --> 00:10:16,520 Høyre? 205 00:10:16,520 --> 00:10:20,160 Så du har litt struct som har noen int antall kapasitet. 206 00:10:20,160 --> 00:10:22,960 Så hva gjør vi tror det representerer? 207 00:10:22,960 --> 00:10:26,190 Dette er en matrise med størrelse KAPASITET. 208 00:10:26,190 --> 00:10:31,750 >> Så dette virkelig representerer stacken generelt. 209 00:10:31,750 --> 00:10:35,980 Stacken er egentlig bare en array med noen sett nummer 210 00:10:35,980 --> 00:10:39,040 det er dens max, det vil si dets kapasitet. 211 00:10:39,040 --> 00:10:43,050 Og så har vi noen int størrelse, som vil spore størrelsen på stacken 212 00:10:43,050 --> 00:10:44,990 gjennom hele kurset av når vi bruker den. 213 00:10:44,990 --> 00:10:45,490 OK? 214 00:10:45,490 --> 00:10:50,620 215 00:10:50,620 --> 00:10:55,850 >> I dette tilfellet her, sier vi at vår stakkstørrelsen er initialisert til 0. 216 00:10:55,850 --> 00:10:58,190 Så vi har en tom stabelen akkurat nå. 217 00:10:58,190 --> 00:11:01,760 Og da vi ønsker å fullføre gjennomføringen av pop 218 00:11:01,760 --> 00:11:05,520 slik at den returnerer int øverst. 219 00:11:05,520 --> 00:11:08,150 Og så hvis det er tomt, den returnerer negativ en. 220 00:11:08,150 --> 00:11:09,320 OK? 221 00:11:09,320 --> 00:11:12,646 Så jeg ønsker dere bare til å tenke om hva vi kan gjøre der. 222 00:11:12,646 --> 00:11:15,020 Hva som kan være en av de første ting vi ønsker å sjekke? 223 00:11:15,020 --> 00:11:17,986 224 00:11:17,986 --> 00:11:19,110 Det er en stor ting her. 225 00:11:19,110 --> 00:11:24,700 Når det says-- hvis det er stadig noen Hvis setningen, som "Hvis stabelen er tom," 226 00:11:24,700 --> 00:11:29,330 eller "Hvis dette returnerer null", eller "Hvis dette er noe" - beklager. 227 00:11:29,330 --> 00:11:30,710 >> PUBLIKUM: Skriv en If-setning. 228 00:11:30,710 --> 00:11:31,000 >> SPEAKER 1: Høyre. 229 00:11:31,000 --> 00:11:31,500 Du kan skrive en If-setning. 230 00:11:31,500 --> 00:11:34,100 Og det er trolig en av de første tingene du ønsker å sjekke. 231 00:11:34,100 --> 00:11:34,599 OK. 232 00:11:34,599 --> 00:11:36,940 Når de gir deg typen som et hjørne saken 233 00:11:36,940 --> 00:11:39,150 som dette, er det vanligvis en av de første tingene 234 00:11:39,150 --> 00:11:41,200 du kommer til å sjekke inn koden din. 235 00:11:41,200 --> 00:11:44,220 >> Også, noe å gjenkjenne for quiz 236 00:11:44,220 --> 00:11:48,870 er hvis du har en ineffektiv måte å gjøre noe, skrive det ned. 237 00:11:48,870 --> 00:11:52,220 Fordi vi ikke gradering du på design, er vi 238 00:11:52,220 --> 00:11:54,840 gradering deg på riktig for spørrekonkurranser. 239 00:11:54,840 --> 00:11:59,970 Så selv om du vet at det er en super dårlig måte å gjøre noe, men det fungerer, 240 00:11:59,970 --> 00:12:03,290 skrive det ned, OK? 241 00:12:03,290 --> 00:12:06,520 >> Bokstavelig talt, har jeg sett barn sist year-- hvis du ser på fjorårets ett, 242 00:12:06,520 --> 00:12:08,180 de er som, gjør Mario pyramiden. 243 00:12:08,180 --> 00:12:12,482 Og de bokstavelig talt bare gjorde "print, hash, print, hash, hasj, print, hasj, 244 00:12:12,482 --> 00:12:13,242 hash, hasj. " 245 00:12:13,242 --> 00:12:14,040 Men det er riktig. 246 00:12:14,040 --> 00:12:18,490 Det gjør det vi fortalte det til, slik at du ikke kan ta poeng fra. 247 00:12:18,490 --> 00:12:20,487 Hvis du er ned til wire, selvsagt, du 248 00:12:20,487 --> 00:12:23,820 ønsker å få en mer elegant løsning, og den mer elegant løsning vil trolig 249 00:12:23,820 --> 00:12:27,292 være mindre kode, som betyr at du sannsynligvis ha en høyere sjanse for å være rett. 250 00:12:27,292 --> 00:12:29,750 Men hvis du er som, vet du hva, nei, jeg har ikke tid, jeg 251 00:12:29,750 --> 00:12:32,640 vet at dette er en løsning, det er ikke den beste, skriv det. 252 00:12:32,640 --> 00:12:36,130 Og du kan til og med skrive på side, jeg vet dette er forferdelig, 253 00:12:36,130 --> 00:12:38,135 men jeg vet det fungerer. 254 00:12:38,135 --> 00:12:39,320 Så bare en heads-up. 255 00:12:39,320 --> 00:12:39,820 OK. 256 00:12:39,820 --> 00:12:42,690 >> Så åpenbart, første er dette Hvis uttalelsen. 257 00:12:42,690 --> 00:12:45,320 Så hva gjør vi tror dette Hvis uttalelse kommer til å være? 258 00:12:45,320 --> 00:12:50,860 Og faktisk, la meg åpne opp min store Sublime redaktør. 259 00:12:50,860 --> 00:12:55,480 Jeg kommer til å kode dette og deretter vise dere når det er gjort. 260 00:12:55,480 --> 00:12:57,370 Så int pop. 261 00:12:57,370 --> 00:13:02,260 262 00:13:02,260 --> 00:13:03,240 OK. 263 00:13:03,240 --> 00:13:07,330 Så hvis vi har denne int pop void-- så åpenbart, 264 00:13:07,330 --> 00:13:13,270 dette er noen funksjon som tar inn ingenting og returnerer et heltall, ikke sant? 265 00:13:13,270 --> 00:13:18,930 Så det er bare kommer til å snakke om denne bunken at vi har skapt. 266 00:13:18,930 --> 00:13:23,360 >> Så bare oversette denne siste setning, "hvis bunken er tom, 267 00:13:23,360 --> 00:13:28,380 pop skal returnere negativ 1, "hvordan kan vi gjøre det? 268 00:13:28,380 --> 00:13:30,250 Så Hvis det? 269 00:13:30,250 --> 00:13:35,080 Hvordan vet vi at bunken er tom? 270 00:13:35,080 --> 00:13:36,800 Det er bare størrelsen er lik 0. 271 00:13:36,800 --> 00:13:40,300 Stack.size lik 0. 272 00:13:40,300 --> 00:13:42,840 Også, jeg slags skrive blind her. 273 00:13:42,840 --> 00:13:49,550 Så hvis jeg gjør noen typos-- oh, også glemte å nevne dette. 274 00:13:49,550 --> 00:13:54,310 >> Forrige uke, jeg helt funnet ut hva vårt problem var med Javascript. 275 00:13:54,310 --> 00:13:57,270 Ikke kapital jeg og D. Du bør bare 276 00:13:57,270 --> 00:14:00,070 kapitalisere jeg og få element av Id. 277 00:14:00,070 --> 00:14:02,170 Og det var hele feilen. 278 00:14:02,170 --> 00:14:05,700 Så hvis dere gå tilbake og faktisk se gjennom min kode, 279 00:14:05,700 --> 00:14:09,590 hvis du bare gjøre alt en små bokstaver d, "glemme element av Id," 280 00:14:09,590 --> 00:14:10,410 det vil fungere. 281 00:14:10,410 --> 00:14:12,823 Så som jeg lovet, var jeg veldig nær. 282 00:14:12,823 --> 00:14:15,570 Jeg bare kapitalisert noe Jeg var ikke ment til, som 283 00:14:15,570 --> 00:14:19,231 Jeg er sikker på at dere hadde i din siste PSet. 284 00:14:19,231 --> 00:14:22,750 >> Så hvis vår størrelse er lik 0, hva skal vi gjøre? 285 00:14:22,750 --> 00:14:25,100 >> PUBLIKUM: Gå tilbake negativ en. 286 00:14:25,100 --> 00:14:28,644 >> SPEAKER 1: Gå tilbake negativ en. 287 00:14:28,644 --> 00:14:29,450 Cool. 288 00:14:29,450 --> 00:14:33,050 Så nå hva gjør vi? 289 00:14:33,050 --> 00:14:39,420 290 00:14:39,420 --> 00:14:41,730 Vi ønsker å pop noe av. 291 00:14:41,730 --> 00:14:45,090 Nå er dette den saken der har vi noe. 292 00:14:45,090 --> 00:14:48,686 Vår størrelse er større enn 1 eller større enn 0, ikke sant? 293 00:14:48,686 --> 00:14:50,060 Vi faktisk har noe der. 294 00:14:50,060 --> 00:14:54,390 Så det vi ønsker å gjøre er vi ønsker å returnere til høyre her. 295 00:14:54,390 --> 00:14:58,860 Vi kommer til å si at vi ønsker å returnere toppen av stabelen. 296 00:14:58,860 --> 00:15:00,940 OK? 297 00:15:00,940 --> 00:15:03,840 >> Så hvordan kan vi gjøre det? 298 00:15:03,840 --> 00:15:06,410 Hvordan får vi tilbake toppen av bunken? 299 00:15:06,410 --> 00:15:09,700 Husk at vår stabel er bare en matrise, ikke sant? 300 00:15:09,700 --> 00:15:12,690 Den har en viss kapasitet at vi har gitt det. 301 00:15:12,690 --> 00:15:17,840 Som vi har satt ting on-- eller faktisk, vi kommer til å skrive "push" etter dette. 302 00:15:17,840 --> 00:15:21,563 Hvis ting er i det-- kanskje et bilde vil hjelpe. 303 00:15:21,563 --> 00:15:30,845 304 00:15:30,845 --> 00:15:32,120 Hm, jeg liker store kritt bedre. 305 00:15:32,120 --> 00:15:35,920 306 00:15:35,920 --> 00:15:41,000 >> Så if-- og du kan bare tenker på dette som vår stabelen. 307 00:15:41,000 --> 00:15:48,510 Så dette er 0, 1, 2. 308 00:15:48,510 --> 00:15:51,175 Jeg vet ikke hvorfor mine bokser blir mindre. 309 00:15:51,175 --> 00:15:52,540 Men der. 310 00:15:52,540 --> 00:15:53,180 OK. 311 00:15:53,180 --> 00:15:59,960 >> Så dette er noen stabel med en kapasitet på 5. 312 00:15:59,960 --> 00:16:04,470 Og la oss si vi har noe her og vi har noe her. 313 00:16:04,470 --> 00:16:10,840 Slik at på dette punktet, vår størrelse er lik hva? 314 00:16:10,840 --> 00:16:12,720 2. 315 00:16:12,720 --> 00:16:15,370 Og hvis vi ønsker å pop noe ut av det, 316 00:16:15,370 --> 00:16:18,720 det betyr at vi ønsker å få kvitt denne retten her. 317 00:16:18,720 --> 00:16:21,300 OK? 318 00:16:21,300 --> 00:16:25,633 Så hvordan ville vi returnere denne verdien? 319 00:16:25,633 --> 00:16:27,397 >> PUBLIKUM: Størrelse minus 1. 320 00:16:27,397 --> 00:16:28,230 >> SPEAKER 1: Høyre. 321 00:16:28,230 --> 00:16:35,010 Så størrelse minus en, eller du kunne gjøre størrelse minus minus. 322 00:16:35,010 --> 00:16:36,740 Men vi kan ikke bare gjøre størrelse. 323 00:16:36,740 --> 00:16:38,560 Det er inne i en struct, ikke sant? 324 00:16:38,560 --> 00:16:42,690 Så stack.struct. 325 00:16:42,690 --> 00:16:44,510 eller stack.size. 326 00:16:44,510 --> 00:16:47,100 Det er indeksen vår rett der. 327 00:16:47,100 --> 00:16:48,070 OK? 328 00:16:48,070 --> 00:16:56,240 >> Og så hvis vi ser tilbake på vår struct her, 329 00:16:56,240 --> 00:16:59,770 Vi legger merke til at til faktisk tilgang til array, 330 00:16:59,770 --> 00:17:04,920 vi trenger å gjøre stack.numbers å faktisk få tilgang til denne matrisen. 331 00:17:04,920 --> 00:17:09,859 332 00:17:09,859 --> 00:17:13,700 Slik som returnerer toppen av bunken. 333 00:17:13,700 --> 00:17:18,950 >> Men noe at-- hvis dere ser på fasiten, er dette alt de 334 00:17:18,950 --> 00:17:21,470 gi deg. 335 00:17:21,470 --> 00:17:22,640 Så dette er det. 336 00:17:22,640 --> 00:17:27,450 Men jeg kan hevde at de er miss-- ooh, ikke hva jeg ville. 337 00:17:27,450 --> 00:17:30,864 Jeg kan hevde at de er mangler noe, because-- ja. 338 00:17:30,864 --> 00:17:32,030 PUBLIKUM: Reduser størrelsen. 339 00:17:32,030 --> 00:17:32,738 SPEAKER 1: Høyre. 340 00:17:32,738 --> 00:17:34,634 Vi må redusere vår størrelse nå. 341 00:17:34,634 --> 00:17:36,550 Så hva er vanskelig om dette er når du kommer tilbake 342 00:17:36,550 --> 00:17:38,780 noe, din funksjonens kommer exit, ikke sant? 343 00:17:38,780 --> 00:17:44,050 Så det vi kan gjøre er egentlig redusere vår størrelse først. 344 00:17:44,050 --> 00:17:47,110 Og da kan vi bare gjøre stack.size. 345 00:17:47,110 --> 00:17:52,110 >> Vi kan bare bruke stack.size som indeksen vår, kunne ikke vi? 346 00:17:52,110 --> 00:17:55,650 Fordi hvis stack.size er to, vi minske det. 347 00:17:55,650 --> 00:17:58,520 Og så det er 1, som er vår faktiske indice. 348 00:17:58,520 --> 00:18:03,320 Når vi blir kvitt dette, vi faktisk bare har én ting i vårt utvalg. 349 00:18:03,320 --> 00:18:04,204 Så det gjør begge deler. 350 00:18:04,204 --> 00:18:05,120 PUBLIKUM: [uhørlig]? 351 00:18:05,120 --> 00:18:09,186 352 00:18:09,186 --> 00:18:14,750 >> SPEAKER 1: Vel, i dette tilfellet, Vi har nettopp returnert elementet 353 00:18:14,750 --> 00:18:19,500 på toppen som er på vår størrelse som er på toppen. 354 00:18:19,500 --> 00:18:25,530 Men vi har ikke gjort noe til størrelse etter at vi fjernet dette elementet. 355 00:18:25,530 --> 00:18:29,970 Dette har ikke endret vår størrelse ennå. 356 00:18:29,970 --> 00:18:32,410 Dette gjør faktisk iboende endre vår størrelse. 357 00:18:32,410 --> 00:18:39,840 >> Men for å gjøre det litt klarere, du kunne gjøre stack.size minus minus. 358 00:18:39,840 --> 00:18:46,960 For meg, det gjør det, vet jeg ikke, litt mer klar at-- ah, 359 00:18:46,960 --> 00:18:51,080 at du faktisk endring størrelsen og returnere den. 360 00:18:51,080 --> 00:18:54,050 Den andre måten var fint, fordi du var i endring og retur 361 00:18:54,050 --> 00:18:55,700 på samme tid. 362 00:18:55,700 --> 00:19:00,792 Men dette er bare en annen måte å skrive det som jeg ville vise dere. 363 00:19:00,792 --> 00:19:02,190 Betyr det fornuftig? 364 00:19:02,190 --> 00:19:04,940 365 00:19:04,940 --> 00:19:06,847 Stabler, tror jeg, er mye enklere enn køer. 366 00:19:06,847 --> 00:19:08,188 [Ler] 367 00:19:08,188 --> 00:19:09,481 368 00:19:09,481 --> 00:19:09,980 OK. 369 00:19:09,980 --> 00:19:12,000 Hadde du noen konkrete spørsmål omtrent 11 og 12, eller just-- 370 00:19:12,000 --> 00:19:13,736 >> PUBLIKUM: Jeg tror det var stabelen. 371 00:19:13,736 --> 00:19:14,910 >> SPEAKER 1: stack størrelse? 372 00:19:14,910 --> 00:19:15,430 >> PUBLIKUM: Yeah. 373 00:19:15,430 --> 00:19:15,980 >> SPEAKER 1: Gotcha. 374 00:19:15,980 --> 00:19:16,490 OK. 375 00:19:16,490 --> 00:19:19,630 Ja, kan du gjøre det i en av disse to måter. 376 00:19:19,630 --> 00:19:20,320 OK. 377 00:19:20,320 --> 00:19:22,790 >> Så nå har vi den andre. 378 00:19:22,790 --> 00:19:30,250 379 00:19:30,250 --> 00:19:34,220 Dette er veldig rart, som ikke å ha dette på min skjerm. 380 00:19:34,220 --> 00:19:46,480 381 00:19:46,480 --> 00:19:51,030 Så hvis vi ser her, har vi nå ønsker å fullføre gjennomføringen av push, 382 00:19:51,030 --> 00:19:57,030 som faktisk setter noe, går og setter noe inn i vår kø, 383 00:19:57,030 --> 00:19:59,390 eller inn i vår stabelen. 384 00:19:59,390 --> 00:20:00,140 OK? 385 00:20:00,140 --> 00:20:03,560 >> Så hvis vi legger merke til, vi har et par ting. 386 00:20:03,560 --> 00:20:07,730 Vi har våre great-- hvis alt annet, når vi har en av disse, 387 00:20:07,730 --> 00:20:10,610 dere bør minst få halvparten et poeng, fordi alt du trenger å gjøre 388 00:20:10,610 --> 00:20:15,760 er konvertere dette til C. Og de gir deg halvparten av det. 389 00:20:15,760 --> 00:20:18,560 Så "hvis en stabel er full eller den er negativ, 390 00:20:18,560 --> 00:20:20,940 skyv bør return false ". 391 00:20:20,940 --> 00:20:21,890 OK? 392 00:20:21,890 --> 00:20:27,900 >> Så vi bare ønsker positive heltall å være på stabelen. 393 00:20:27,900 --> 00:20:28,430 All right? 394 00:20:28,430 --> 00:20:31,135 Og dette kommer til å enten returnere sant eller usant. 395 00:20:31,135 --> 00:20:36,410 396 00:20:36,410 --> 00:20:37,765 Så skal vi [uhørbart] bool. 397 00:20:37,765 --> 00:20:43,000 398 00:20:43,000 --> 00:20:43,660 OK. 399 00:20:43,660 --> 00:20:45,725 Så oversette. 400 00:20:45,725 --> 00:20:47,146 >> PUBLIKUM: [uhørlig]. 401 00:20:47,146 --> 00:20:48,318 >> SPEAKER 1: Oh, takk. 402 00:20:48,318 --> 00:20:49,572 Yeah. 403 00:20:49,572 --> 00:20:52,834 Dette er grunnen til at jeg har dere. 404 00:20:52,834 --> 00:20:53,810 Int n. 405 00:20:53,810 --> 00:20:54,310 Perfekt. 406 00:20:54,310 --> 00:20:56,590 Fordi vi setter noe videre til vår stabelen. 407 00:20:56,590 --> 00:20:58,750 Vi må faktisk noen tall. 408 00:20:58,750 --> 00:20:59,250 OK. 409 00:20:59,250 --> 00:21:05,669 >> Så bare ta det siste linje som de ga oss, vår type hjørne tilfeller 410 00:21:05,669 --> 00:21:06,960 hva tror du vi har her? 411 00:21:06,960 --> 00:21:08,730 Selvfølgelig skal vi ha noen If. 412 00:21:08,730 --> 00:21:09,520 OK. 413 00:21:09,520 --> 00:21:14,380 Så vi sa, hvis stacken er full, eller hvis n er negativ. 414 00:21:14,380 --> 00:21:18,850 Så sannsynligvis enklest å starte med, så hvis n er mindre enn 0 415 00:21:18,850 --> 00:21:23,960 or-- husker fint AND og OR operatører der. 416 00:21:23,960 --> 00:21:27,340 >> Hvordan ville vi sjekke se om vår stabel er fullt? 417 00:21:27,340 --> 00:21:28,368 Hva skjer? 418 00:21:28,368 --> 00:21:30,080 >> PUBLIKUM: Størrelse lik KAPASITET. 419 00:21:30,080 --> 00:21:30,871 >> SPEAKER 1: Nettopp. 420 00:21:30,871 --> 00:21:35,430 421 00:21:35,430 --> 00:21:36,817 Perfekt. 422 00:21:36,817 --> 00:21:37,316 OK. 423 00:21:37,316 --> 00:21:40,672 Og hva gjør vi ønsker å gjøre det? 424 00:21:40,672 --> 00:21:41,740 >> PUBLIKUM: Gå tilbake falsk. 425 00:21:41,740 --> 00:21:43,990 >> SPEAKER 1: Gå tilbake falsk. 426 00:21:43,990 --> 00:21:44,960 Perfekt. 427 00:21:44,960 --> 00:21:47,000 Så halvveis der, ikke sant? 428 00:21:47,000 --> 00:21:50,370 I det minste, dere vil ha halvparten av dette. 429 00:21:50,370 --> 00:21:53,280 Så la oss tenke på dette. 430 00:21:53,280 --> 00:21:57,100 431 00:21:57,100 --> 00:21:59,030 >> Så dette er bunken vi begynne med. 432 00:21:59,030 --> 00:22:02,340 Vi prøver å sette noen element på her. 433 00:22:02,340 --> 00:22:05,580 >> Vi har en størrelse som er lik 2 akkurat nå. 434 00:22:05,580 --> 00:22:09,060 Vi har en kapasitet som er lik til 5. 435 00:22:09,060 --> 00:22:13,470 Og la oss si at vi har noen n som er lik 3. 436 00:22:13,470 --> 00:22:18,170 Så vi må skrive tre inn i dette rommet. 437 00:22:18,170 --> 00:22:22,320 Og vi må skrive det inn i indeks 2. 438 00:22:22,320 --> 00:22:22,820 Høyre? 439 00:22:22,820 --> 00:22:31,730 440 00:22:31,730 --> 00:22:35,130 >> Så hvordan kan vi gjøre dette? 441 00:22:35,130 --> 00:22:46,580 Prøver å assign-- vi vil ha tilgang til vår array. 442 00:22:46,580 --> 00:22:49,300 Så stack.numbers. 443 00:22:49,300 --> 00:22:52,932 Men til hvilken indice ville vi vil at dette skal være? 444 00:22:52,932 --> 00:22:54,408 >> PUBLIKUM: [uhørlig]. 445 00:22:54,408 --> 00:22:56,806 >> SPEAKER 1: Yeah. 446 00:22:56,806 --> 00:22:57,305 Stack.size. 447 00:22:57,305 --> 00:23:02,720 448 00:23:02,720 --> 00:23:04,830 Og vi ønsker at det skal lik n, ikke sant? 449 00:23:04,830 --> 00:23:05,752 >> PUBLIKUM: [uhørlig]. 450 00:23:05,752 --> 00:23:07,710 SPEAKER 1: Jeg var faktisk bare se på det. 451 00:23:07,710 --> 00:23:09,865 Jeg tror det er feil. 452 00:23:09,865 --> 00:23:14,564 >> PUBLIKUM: Vil du ikke ha den plass forbi den nåværende størrelse? 453 00:23:14,564 --> 00:23:18,842 >> SPEAKER 1: Vel, hvis vi ser her, vår størrelse på dette punktet er 2. 454 00:23:18,842 --> 00:23:25,600 Vi vil at den skal gå inn indeks 2, fordi dette er toppen av stacken. 455 00:23:25,600 --> 00:23:29,480 Så jeg vil si at det bør være stack.size, 456 00:23:29,480 --> 00:23:32,380 og så ville du øke stack.size. 457 00:23:32,380 --> 00:23:33,820 Er alle enige? 458 00:23:33,820 --> 00:23:35,780 Jeg tror jeg er enig med det. 459 00:23:35,780 --> 00:23:38,180 Dere kan argumentere med meg hvis du vil. 460 00:23:38,180 --> 00:23:40,078 Eller ikke argumentere, men vi kan diskutere dette. 461 00:23:40,078 --> 00:23:42,518 >> PUBLIKUM: [uhørlig]. 462 00:23:42,518 --> 00:23:47,650 >> SPEAKER 1: Mm-hm, er der den er åpne på grunn av null indeksering. 463 00:23:47,650 --> 00:23:50,027 Slik at mens det i den første delen, Jeg trodde de var feil, 464 00:23:50,027 --> 00:23:53,910 og de var faktisk rett, dette del, jeg tror faktisk de tok feil. 465 00:23:53,910 --> 00:23:55,990 Jeg vil si at du bør definitivt innspill det her. 466 00:23:55,990 --> 00:23:58,540 Jeg tror vi alle er enige vi har en størrelse på 2. 467 00:23:58,540 --> 00:24:01,480 Det er akkurat der vi ønsker vår nye nummeret til å gå. 468 00:24:01,480 --> 00:24:05,120 Så stack.numbers på stack.size bør tilsvare n. 469 00:24:05,120 --> 00:24:09,510 Og da vi ville øke den stack.size. 470 00:24:09,510 --> 00:24:11,099 ++. 471 00:24:11,099 --> 00:24:12,390 Og hva gjør vi ønsker å gjøre? 472 00:24:12,390 --> 00:24:17,400 Det er en siste ting vi må gjøre hvis vi lykkes satt inn dette? 473 00:24:17,400 --> 00:24:19,190 Returnere true. 474 00:24:19,190 --> 00:24:20,071 Og nå er du ferdig. 475 00:24:20,071 --> 00:24:23,440 476 00:24:23,440 --> 00:24:27,765 Så jeg føler at det var hele minus minus stack.size og stack.size ++ at 477 00:24:27,765 --> 00:24:29,440 messed ting opp. 478 00:24:29,440 --> 00:24:29,940 Ugh. 479 00:24:29,940 --> 00:24:34,400 Jeg keep-- jeg har denne kne-jerk tendens til å alltid treffer 480 00:24:34,400 --> 00:24:38,060 Kontroll, S, fordi jeg aldri ønsker å miste noe av arbeidet mitt. 481 00:24:38,060 --> 00:24:39,670 Men jeg trenger ikke å gjøre det nå. 482 00:24:39,670 --> 00:24:40,170 OK. 483 00:24:40,170 --> 00:24:41,650 Så det var stabelen. 484 00:24:41,650 --> 00:24:44,460 485 00:24:44,460 --> 00:24:46,300 Cool. 486 00:24:46,300 --> 00:24:48,970 >> Er det noe? 487 00:24:48,970 --> 00:24:51,220 Visste dere finne noen andre spørsmål som du hadde 488 00:24:51,220 --> 00:24:52,810 liker å gå over fra tidligere spørrekonkurranser? 489 00:24:52,810 --> 00:24:57,660 Hvis ikke, kan vi på en måte begynne å snakke gjennom Quiz One fra i fjor. 490 00:24:57,660 --> 00:24:58,160 Ja. 491 00:24:58,160 --> 00:25:00,035 >> PUBLIKUM: For det første del, gjorde jeg egentlig ikke 492 00:25:00,035 --> 00:25:02,438 forstå hvordan du slettet nummeret. 493 00:25:02,438 --> 00:25:03,600 Er ikke det der fortsatt? 494 00:25:03,600 --> 00:25:05,100 >> SPEAKER 1: Tallet er fortsatt der. 495 00:25:05,100 --> 00:25:11,350 Men det som skjer er at fordi du har fortalte det at toppen av stabelen din 496 00:25:11,350 --> 00:25:16,180 er her, når du går å legge til noe på stakken, vil det bare erstatte det. 497 00:25:16,180 --> 00:25:17,084 >> PUBLIKUM: Å, OK. 498 00:25:17,084 --> 00:25:17,750 SPEAKER 1: Yeah. 499 00:25:17,750 --> 00:25:21,334 Så det er som han glemte og det er der type ting selv om det er der. 500 00:25:21,334 --> 00:25:22,750 PUBLIKUM: [uhørlig] eller noe? 501 00:25:22,750 --> 00:25:23,333 SPEAKER 1: Nei. 502 00:25:23,333 --> 00:25:25,090 Fordi vi er i en array, trenger du ikke 503 00:25:25,090 --> 00:25:28,850 å bekymre om-- du vil bare styre det når du trenger det. 504 00:25:28,850 --> 00:25:30,560 OK. 505 00:25:30,560 --> 00:25:31,560 Andre spørsmål? 506 00:25:31,560 --> 00:25:34,843 Hvis ikke, vi bare går å begynne å jobbe gjennom. 507 00:25:34,843 --> 00:25:35,343 Yeah. 508 00:25:35,343 --> 00:25:40,905 >> PUBLIKUM: Vel, dette er en på 2013, men bare gå gjennom SQL ting. 509 00:25:40,905 --> 00:25:41,530 SPEAKER 1: SQL? 510 00:25:41,530 --> 00:25:42,030 OK. 511 00:25:42,030 --> 00:25:45,290 512 00:25:45,290 --> 00:25:46,925 Så dette er 26 gjennom 29. 513 00:25:46,925 --> 00:25:47,550 PUBLIKUM: Yeah. 514 00:25:47,550 --> 00:25:48,120 SPEAKER 1: OK. 515 00:25:48,120 --> 00:25:48,620 Lovely. 516 00:25:48,620 --> 00:25:50,230 La oss trekke dem opp. 517 00:25:50,230 --> 00:25:57,560 518 00:25:57,560 --> 00:25:59,506 Oh, se. 519 00:25:59,506 --> 00:26:02,180 Visste dere nyte Steve Ballmer snakker, forresten? 520 00:26:02,180 --> 00:26:06,350 Det var ganske morsom, etter min mening. 521 00:26:06,350 --> 00:26:09,930 Jeg elsker at hver gang jeg tar opp CS50 s nettside under delen, det er liksom, oh, 522 00:26:09,930 --> 00:26:10,730 se pkt. 523 00:26:10,730 --> 00:26:11,575 Og jeg er like, mm. 524 00:26:11,575 --> 00:26:13,100 >> PUBLIKUM: Kan vi gjøre det? 525 00:26:13,100 --> 00:26:15,060 >> SPEAKER 1: Vi vil gjøre det på slutten. 526 00:26:15,060 --> 00:26:15,560 Hvordan er det? 527 00:26:15,560 --> 00:26:17,476 Fordi jeg vet at dere har alltid ønsket å. 528 00:26:17,476 --> 00:26:18,573 Så vi vil gjøre det på slutten. 529 00:26:18,573 --> 00:26:21,884 530 00:26:21,884 --> 00:26:22,800 Ett spørsmål. 531 00:26:22,800 --> 00:26:24,502 >> PUBLIKUM: [uhørlig]. 532 00:26:24,502 --> 00:26:25,960 SPEAKER 1: Det vil være en meta-delen. 533 00:26:25,960 --> 00:26:27,332 PUBLIKUM: Det er som fem sekunder. 534 00:26:27,332 --> 00:26:28,805 PUBLIKUM: Virkelig? 535 00:26:28,805 --> 00:26:30,567 PUBLIKUM: Det er som 20 sekunder. 536 00:26:30,567 --> 00:26:33,260 [Interposing VOICES] 537 00:26:33,260 --> 00:26:35,756 [Latter] 538 00:26:35,756 --> 00:26:35,931 539 00:26:35,931 --> 00:26:37,680 SPEAKER 1: Jeg liker det du allerede har gjort 540 00:26:37,680 --> 00:26:40,130 det, som er det som gjør meg lykkeligere. 541 00:26:40,130 --> 00:26:42,340 OK. 542 00:26:42,340 --> 00:26:42,840 26. 543 00:26:42,840 --> 00:26:43,340 OK. 544 00:26:43,340 --> 00:26:46,050 545 00:26:46,050 --> 00:26:48,930 Egentlig er vi bare kommer til å speile dette nå, fordi jeg ikke kan. 546 00:26:48,930 --> 00:26:49,640 Dette er irriterende. 547 00:26:49,640 --> 00:26:56,200 548 00:26:56,200 --> 00:26:56,700 OK. 549 00:26:56,700 --> 00:27:00,254 Nå kan jeg se alt. 550 00:27:00,254 --> 00:27:01,230 Lovely. 551 00:27:01,230 --> 00:27:02,500 OK. 552 00:27:02,500 --> 00:27:07,300 >> Så åpenbart, bør dette bringe tilbake gode minner fra [? CSG?] Finance. 553 00:27:07,300 --> 00:27:09,090 Halvparten av dere om har din gradert nå. 554 00:27:09,090 --> 00:27:13,370 Den andre halvparten vil jeg komme til veldig, veldig snart, jeg lover. 555 00:27:13,370 --> 00:27:17,110 >> Så vi har litt SQL tabellen det er kontoer her. 556 00:27:17,110 --> 00:27:19,830 Sannsynligvis ligner dine gutta "brukertabeller. 557 00:27:19,830 --> 00:27:22,350 Og vi har noen tall det var en primærnøkkel 558 00:27:22,350 --> 00:27:24,750 og representerer en 12-sifret kontonummer. 559 00:27:24,750 --> 00:27:27,140 Og balanse er hvor mye penger de har. 560 00:27:27,140 --> 00:27:30,530 Og standardverdien er 100. 561 00:27:30,530 --> 00:27:33,470 Og de gir dem $ 100 noen gang de åpner en konto. 562 00:27:33,470 --> 00:27:36,132 Jeg ønsker min bank gjorde det. 563 00:27:36,132 --> 00:27:37,710 OK. 564 00:27:37,710 --> 00:27:41,110 >> Så vi ønsker å fullføre skjemaet ved spesifisere ved siden av nummer i balanse 565 00:27:41,110 --> 00:27:43,900 den aktuelle SQL type. 566 00:27:43,900 --> 00:27:50,240 Så hva tror dere ville være typen som din kne-jerk reaksjon 567 00:27:50,240 --> 00:27:51,380 for typer for disse to? 568 00:27:51,380 --> 00:27:52,180 >> PUBLIKUM: Int. 569 00:27:52,180 --> 00:27:53,450 >> SPEAKER 1: En int. 570 00:27:53,450 --> 00:27:54,230 OK. 571 00:27:54,230 --> 00:27:57,490 Og så for en balanse? 572 00:27:57,490 --> 00:27:57,990 Desimal. 573 00:27:57,990 --> 00:27:58,490 OK. 574 00:27:58,490 --> 00:27:59,830 Så desimal rett. 575 00:27:59,830 --> 00:28:01,450 Int er nær. 576 00:28:01,450 --> 00:28:08,610 Slags den store tingen er dette understreket 12-sifret kontonummer. 577 00:28:08,610 --> 00:28:11,460 Når vi har noe som er større enn åtte sifre, 578 00:28:11,460 --> 00:28:15,522 de ønsker å bruke store int, som jeg tror er-- 579 00:28:15,522 --> 00:28:18,370 580 00:28:18,370 --> 00:28:21,605 >> PUBLIKUM: Er det bare SQL? 581 00:28:21,605 --> 00:28:27,290 >> SPEAKER 1: Det er den eneste gangen jeg har hørt av det er SQL-- som å bruke en stor int. 582 00:28:27,290 --> 00:28:29,330 Det er bare å gi deg en litt mer presisjon, 583 00:28:29,330 --> 00:28:33,070 pass på at du ikke fylte type ting. 584 00:28:33,070 --> 00:28:35,910 I all ærlighet, tror jeg dette er definitivt en av de som 585 00:28:35,910 --> 00:28:38,480 hvor det er, oh, det er ment for folk 586 00:28:38,480 --> 00:28:41,090 som har litt mer kunnskap om SQL. 587 00:28:41,090 --> 00:28:44,710 Vi har aldri snakket om store ints i din PSet. 588 00:28:44,710 --> 00:28:48,210 Så det er litt som jeg er ganske sikker på hvis du setter int, var det halv kreditt. 589 00:28:48,210 --> 00:28:51,450 >> Og som jeg sa tidligere, det kommer å være noen spørsmål som er like 590 00:28:51,450 --> 00:28:55,550 ment å reise deg opp, så at ikke alle får 100. 591 00:28:55,550 --> 00:28:58,326 Fordi selvfølgelig, det er noen mennesker i CS50 592 00:28:58,326 --> 00:29:00,950 som har gjort dette for like åtte år, og du liker, 593 00:29:00,950 --> 00:29:01,741 hva er det du gjør? 594 00:29:01,741 --> 00:29:03,290 Men ja. 595 00:29:03,290 --> 00:29:05,650 >> Desimal for balanse var det innlysende. 596 00:29:05,650 --> 00:29:10,910 Og så stor int for nummer nettopp fordi av det, som understreket 12-sifret. 597 00:29:10,910 --> 00:29:16,760 Når alt er i fet eller det er understreket, som, ta hensyn til det. 598 00:29:16,760 --> 00:29:18,940 Vi gjør ikke det bare fordi. 599 00:29:18,940 --> 00:29:20,290 OK. 600 00:29:20,290 --> 00:29:24,400 >> Så "anta at banken pålegger en $ 20 månedlig avgift på alle kontoer. 601 00:29:24,400 --> 00:29:27,850 Med hvilken spørring kunne banken trekke $ 20 fra hver konto 602 00:29:27,850 --> 00:29:31,490 selv om det er et resultat av noen negative saldoer? " 603 00:29:31,490 --> 00:29:35,220 Så la oss starte enkelt. 604 00:29:35,220 --> 00:29:39,240 Vi har fire hovedkommandoer for SQL, som er? 605 00:29:39,240 --> 00:29:42,620 Har dere huske de fire store som jeg fortalte deg? 606 00:29:42,620 --> 00:29:45,710 >> UPDATE, DELETE, SELECT og INSERT. 607 00:29:45,710 --> 00:29:46,430 Perfekt. 608 00:29:46,430 --> 00:29:46,930 Fikk den. 609 00:29:46,930 --> 00:29:52,910 Så hva gjør vi tror kan være mest nyttig for denne? 610 00:29:52,910 --> 00:29:54,231 Vi are-- UPDATE. 611 00:29:54,231 --> 00:29:54,730 Nøyaktig. 612 00:29:54,730 --> 00:29:59,330 Så OPPDATERE, fordi vi ser på kontoer som allerede eksisterer. 613 00:29:59,330 --> 00:30:03,570 >> Så husk general vår slags ting er oppdatering. 614 00:30:03,570 --> 00:30:06,300 Og hva da kommer etter UPDATE? 615 00:30:06,300 --> 00:30:09,780 Vi har noen bord at vi refererer til. 616 00:30:09,780 --> 00:30:17,130 Så hvis jeg trekke opp Sublime igjen-- UPDATE. 617 00:30:17,130 --> 00:30:18,820 Så dette er et generelt format. 618 00:30:18,820 --> 00:30:20,800 Så vi har UPDATE tabellen. 619 00:30:20,800 --> 00:30:23,203 Og så hva er neste ting vi har? 620 00:30:23,203 --> 00:30:26,230 >> Du kan gjøre HVOR. 621 00:30:26,230 --> 00:30:30,530 Og så har vi noen kvalifiseringskamp her. 622 00:30:30,530 --> 00:30:32,300 Og så hva har vi neste? 623 00:30:32,300 --> 00:30:38,020 Vi har noen SET-- noe lik noe. 624 00:30:38,020 --> 00:30:38,870 Blah lik blah. 625 00:30:38,870 --> 00:30:41,859 626 00:30:41,859 --> 00:30:42,400 Oppdatert blah. 627 00:30:42,400 --> 00:30:45,655 628 00:30:45,655 --> 00:30:47,050 Høyre? 629 00:30:47,050 --> 00:30:52,280 Så det er som den generelle ide for noen oppdatering. 630 00:30:52,280 --> 00:30:53,060 OK? 631 00:30:53,060 --> 00:30:56,890 >> Så la oss begynne å fylle dette på med hva det skal være. 632 00:30:56,890 --> 00:30:59,640 Så hva tabellen er det snakk om? 633 00:30:59,640 --> 00:31:02,190 Kontoer. 634 00:31:02,190 --> 00:31:05,360 Og da i dette tilfellet hva er egentlig kult 635 00:31:05,360 --> 00:31:08,620 er vi snakker om spesifikke brukere innen vår konto, 636 00:31:08,620 --> 00:31:11,240 eller snakker vi om alle brukere? 637 00:31:11,240 --> 00:31:12,490 Vi snakker om alle brukere. 638 00:31:12,490 --> 00:31:16,870 Så i dette tilfellet, kan vi bare slette denne HVOR kvalifiseringskamp. 639 00:31:16,870 --> 00:31:20,500 WHERE er bare når du vil å begrense hva du bytter. 640 00:31:20,500 --> 00:31:23,500 Hvis du ønsker å endre hele tabell, kan du bare droppe det. 641 00:31:23,500 --> 00:31:27,390 642 00:31:27,390 --> 00:31:27,960 OK. 643 00:31:27,960 --> 00:31:29,430 >> Så nå er vi på vår SET del. 644 00:31:29,430 --> 00:31:31,514 Hva ønsker vi å endre? 645 00:31:31,514 --> 00:31:33,502 >> PUBLIKUM: Balanse. 646 00:31:33,502 --> 00:31:34,747 >> SPEAKER 1: Balanse. 647 00:31:34,747 --> 00:31:37,080 Og vi kommer to-- hvordan er vi kommer til å endre balanse? 648 00:31:37,080 --> 00:31:40,230 649 00:31:40,230 --> 00:31:43,370 Vi har en $ 20 gebyr, ikke sant? 650 00:31:43,370 --> 00:31:45,210 Minus 20. 651 00:31:45,210 --> 00:31:48,130 Og de sier det er OK hvis vi har negativ saldo. 652 00:31:48,130 --> 00:31:51,630 Så i dette tilfellet, trenger du ikke å gjøre noen ytterligere feilsjekking. 653 00:31:51,630 --> 00:31:53,040 OK? 654 00:31:53,040 --> 00:31:56,130 Det er bokstavelig talt alt du trenger å gjøre. 655 00:31:56,130 --> 00:31:57,990 Cool? 656 00:31:57,990 --> 00:31:59,260 OK. 657 00:31:59,260 --> 00:32:01,460 >> Så la oss gå gjennom den neste. 658 00:32:01,460 --> 00:32:04,510 "Med hva SQL-spørring kunne det bank hente kontonumrene 659 00:32:04,510 --> 00:32:08,300 av sine rikeste kunder med balanserer større enn $ 1000? " 660 00:32:08,300 --> 00:32:11,820 Hvis banken din og dine rikeste kunder er bare de med over $ 1000, 661 00:32:11,820 --> 00:32:14,130 Jeg føler at du er gjør noe galt. 662 00:32:14,130 --> 00:32:16,080 Lignende, hvordan en bank overleve på det? 663 00:32:16,080 --> 00:32:18,930 Liker, som interesse, ikke helt nok. 664 00:32:18,930 --> 00:32:20,911 OK. 665 00:32:20,911 --> 00:32:23,660 Med denne typen ting, hva gjør du tror, ​​av våre fire funksjoner, 666 00:32:23,660 --> 00:32:25,970 tror du vi kommer til å bruke? 667 00:32:25,970 --> 00:32:27,048 VELG. 668 00:32:27,048 --> 00:32:27,548 Perfekt. 669 00:32:27,548 --> 00:32:31,300 670 00:32:31,300 --> 00:32:32,460 VELG. 671 00:32:32,460 --> 00:32:33,300 OK. 672 00:32:33,300 --> 00:32:40,150 Så vi velger noen identifikator FROM tabell. 673 00:32:40,150 --> 00:32:44,070 Og så HVOR tilstand. 674 00:32:44,070 --> 00:32:46,110 Så når vi går gjennom disse, jeg skal bare 675 00:32:46,110 --> 00:32:49,680 for å gi dere en generell oppfriskning på den generelle formatet av alle disse. 676 00:32:49,680 --> 00:32:54,600 >> Så vi velger noe slag av [? ting. ?] I dette tilfellet 677 00:32:54,600 --> 00:32:59,050 dette kommer til å være vanligvis noen kolonne. 678 00:32:59,050 --> 00:33:02,870 Så i vårt tilfelle, har vi nummer, balanse. 679 00:33:02,870 --> 00:33:06,020 I dine gutta 'tilfelle, kanskje det var ID, navn, passord. 680 00:33:06,020 --> 00:33:10,760 Noen av disse søylene, det er typisk hva vi velger. 681 00:33:10,760 --> 00:33:14,785 >> Så i dette tilfellet her, som slags kolonne, hva identifikator 682 00:33:14,785 --> 00:33:17,700 vi trekke fra bordet vårt? 683 00:33:17,700 --> 00:33:21,020 Hva betyr det spør oss om? 684 00:33:21,020 --> 00:33:24,510 Det spør oss for våre tall, ikke sant? 685 00:33:24,510 --> 00:33:26,236 Kontonumrene. 686 00:33:26,236 --> 00:33:30,500 Så husk, bare tall i dette tilfellet. 687 00:33:30,500 --> 00:33:33,910 Hvis dere noen gang hatt den feilen, at lys oransje boksen ville komme opp. 688 00:33:33,910 --> 00:33:37,040 Og det var som, uventet ro i, som, uansett. 689 00:33:37,040 --> 00:33:39,840 Det er fordi du ringte bordet ditt feil, ikke sant? 690 00:33:39,840 --> 00:33:43,660 Så vær sikker på at du er ringer kolonnen riktig. 691 00:33:43,660 --> 00:33:48,670 >> Så fra bordet, bordet vårt er kalt kontoer. 692 00:33:48,670 --> 00:33:51,460 Igjen, sørg for at du er refererer bordet ditt riktig. 693 00:33:51,460 --> 00:33:52,990 Og så hva er vår tilstand her? 694 00:33:52,990 --> 00:33:55,672 Hva ser vi etter? 695 00:33:55,672 --> 00:33:56,680 Vi ønsker at våre rike mennesker. 696 00:33:56,680 --> 00:33:57,180 Ja. 697 00:33:57,180 --> 00:34:00,580 Så balansere større enn 1000. 698 00:34:00,580 --> 00:34:02,020 Der du går. 699 00:34:02,020 --> 00:34:03,760 Det er din spørring. 700 00:34:03,760 --> 00:34:06,430 Ikke så ille, ikke sant? 701 00:34:06,430 --> 00:34:07,160 OK. 702 00:34:07,160 --> 00:34:09,350 >> Så nå for vår siste. 703 00:34:09,350 --> 00:34:11,370 Med det er vi breezing gjennom. 704 00:34:11,370 --> 00:34:12,170 OK. 705 00:34:12,170 --> 00:34:16,280 Så nå "med hva spørringen kunne banken tett, dvs. slette "- 706 00:34:16,280 --> 00:34:19,760 trenger du ikke elsker hvordan de bare ga deg DELETE-- 707 00:34:19,760 --> 00:34:24,060 "Hver konto som har en saldo på 0?" 708 00:34:24,060 --> 00:34:26,899 Jeg tror vi alle er enige om vi er sannsynligvis kommer til å bruke DELETE. 709 00:34:26,899 --> 00:34:29,330 Jeg er velkommen til å ta en hvilken som helst diskusjon rundt det. 710 00:34:29,330 --> 00:34:33,560 Men jeg tror det er ganske trygt å si at vi kunne bruke DELETE. 711 00:34:33,560 --> 00:34:42,600 >> Så vi kommer til å slette noen brukere fra bordet, WHERE betingelse. 712 00:34:42,600 --> 00:34:45,480 Så samme slags ting som SELECT. 713 00:34:45,480 --> 00:34:48,389 714 00:34:48,389 --> 00:34:49,840 Så i dette case-- oh, beklager. 715 00:34:49,840 --> 00:34:51,570 Jeg skal slette fra. 716 00:34:51,570 --> 00:34:54,320 Fordi DELETE vilje slette hele raden. 717 00:34:54,320 --> 00:34:58,300 Så vi trenger ikke å snakke om hvilke spesifikke ting om en bruker vi 718 00:34:58,300 --> 00:34:59,280 sletting. 719 00:34:59,280 --> 00:35:02,870 Hvis vi slette en bruker, er vi slette alt om dem. 720 00:35:02,870 --> 00:35:07,230 >> Så i dette tilfellet, vi trenger bare å fyller ut vårt HVOR og vår tilstand. 721 00:35:07,230 --> 00:35:13,050 Så bordet vårt er bare våre kontoer tabell, som vi har gjort. 722 00:35:13,050 --> 00:35:14,931 Og hva er da vår tilstand her? 723 00:35:14,931 --> 00:35:16,655 >> PUBLIKUM: Balanse. 724 00:35:16,655 --> 00:35:18,330 >> SPEAKER 1: Balanse er lik 0. 725 00:35:18,330 --> 00:35:19,401 Riktig. 726 00:35:19,401 --> 00:35:19,900 Alt bra. 727 00:35:19,900 --> 00:35:20,322 Ja. 728 00:35:20,322 --> 00:35:21,238 >> PUBLIKUM: [uhørlig]. 729 00:35:21,238 --> 00:35:25,745 730 00:35:25,745 --> 00:35:30,530 >> SPEAKER 1: Så DELETE iboende sletter alt. 731 00:35:30,530 --> 00:35:42,380 Så mens med SELECT, tar i SELECT visse kolonner som du ønsker returnert. 732 00:35:42,380 --> 00:35:46,680 Hvis du ville alt om en bruker returnert, du bruker stjerne. 733 00:35:46,680 --> 00:35:49,040 Stjerne sier, komme tilbake til meg alt fra denne brukeren. 734 00:35:49,040 --> 00:35:54,430 Eller hvis du setter HVOR stjerne, at betyr bare gi meg alt. 735 00:35:54,430 --> 00:35:56,520 >> Men DELETE iboende har det. 736 00:35:56,520 --> 00:36:01,569 Så hvis du sier, DELETE fra kontoer der balanse er lik 0, 737 00:36:01,569 --> 00:36:02,610 det kommer til å gå gjennom. 738 00:36:02,610 --> 00:36:05,890 Og overalt denne balansen er lik 0, iboende gjør det det. 739 00:36:05,890 --> 00:36:07,470 Det vil slette alt. 740 00:36:07,470 --> 00:36:15,120 Stjernen er mer for-- med SELECT eller UPDATE, 741 00:36:15,120 --> 00:36:20,320 det snakker mer om den enkelte felt svarende til en bruker. 742 00:36:20,320 --> 00:36:25,530 >> Så når du SELECT Star fra tabell WHERE ID 743 00:36:25,530 --> 00:36:31,130 lik 1, som returnerer til deg alt om brukeren med ID 1. 744 00:36:31,130 --> 00:36:38,980 Hvis du skulle gjøre SELECT nummer eller SELECT ID komma navn fra brukerne 745 00:36:38,980 --> 00:36:43,110 HVOR ID lik 1, som bare returnerer sine tall 746 00:36:43,110 --> 00:36:44,880 eller deres ID og deres navn. 747 00:36:44,880 --> 00:36:45,540 OK? 748 00:36:45,540 --> 00:36:49,420 >> Så vi bruker stjerne i så fall til gi oss alt om en bruker. 749 00:36:49,420 --> 00:36:51,940 Og DELETE iboende gjør det. 750 00:36:51,940 --> 00:36:56,950 Det betyr ikke bare slette ID, eller bare navnet, eller hva. 751 00:36:56,950 --> 00:36:57,550 Ja, nei. 752 00:36:57,550 --> 00:36:59,780 Det sletter bare hele bruker. 753 00:36:59,780 --> 00:37:05,210 Slik at vi ikke trenger å bekymre deg om stjernen der. 754 00:37:05,210 --> 00:37:09,170 >> Hvis du ønsket å slette alt, kan du gjøre det, 755 00:37:09,170 --> 00:37:11,970 og dette vil bare slippe alt. 756 00:37:11,970 --> 00:37:14,290 Men typisk, du ønsker ikke å gjøre det. 757 00:37:14,290 --> 00:37:16,940 Men hvis du noen gang ønsker å slette alt, kan du gjøre det. 758 00:37:16,940 --> 00:37:18,890 OK. 759 00:37:18,890 --> 00:37:22,120 >> Har dere funnet noen andre spørsmål? 760 00:37:22,120 --> 00:37:22,620 Ja. 761 00:37:22,620 --> 00:37:24,316 >> PUBLIKUM: Kan du gjøre 26? 762 00:37:24,316 --> 00:37:27,090 >> SPEAKER 1: 26 vi nettopp gjorde. 763 00:37:27,090 --> 00:37:28,090 PUBLIKUM: Oh, 25, beklager. 764 00:37:28,090 --> 00:37:30,721 SPEAKER 1: 25. 765 00:37:30,721 --> 00:37:31,220 OK. 766 00:37:31,220 --> 00:37:31,870 25. 767 00:37:31,870 --> 00:37:32,650 Oh. 768 00:37:32,650 --> 00:37:33,691 De gjør Script. 769 00:37:33,691 --> 00:37:37,265 Åh, jeg kan ikke tro det. 770 00:37:37,265 --> 00:37:38,765 Jeg kommer til å rote oss opp igjen, folkens. 771 00:37:38,765 --> 00:37:42,180 772 00:37:42,180 --> 00:37:43,330 OK. 773 00:37:43,330 --> 00:37:44,440 Vi fikk dette. 774 00:37:44,440 --> 00:37:46,172 Vi kommer til å gjøre dette arbeidet. 775 00:37:46,172 --> 00:37:48,190 Ah, jQuery. 776 00:37:48,190 --> 00:37:49,380 Moro. 777 00:37:49,380 --> 00:37:49,880 OK. 778 00:37:49,880 --> 00:37:54,040 >> Så vi kommer til å fullføre implementering av nettsiden 779 00:37:54,040 --> 00:37:57,820 på en slik måte at hvis de besøker, innspill deres navn, og sende inn skjemaet, 780 00:37:57,820 --> 00:38:03,810 de har denne flotte varsling vinduet som kommer til å dukke opp. 781 00:38:03,810 --> 00:38:08,410 Så noe med varsler, vi vet at vi er nødt til å bruke Javascript. 782 00:38:08,410 --> 00:38:11,190 Yay, Script. 783 00:38:11,190 --> 00:38:14,070 Og hvis de ikke klarer å legge inn en navn før du sender inn skjemaet, 784 00:38:14,070 --> 00:38:15,110 ingen varsling skal vises. 785 00:38:15,110 --> 00:38:17,900 Så du kan bruke jQuery, men du trenger ikke å. 786 00:38:17,900 --> 00:38:22,390 >> Så jeg kommer til å la dere jobbe på dette bare for et par minutter. 787 00:38:22,390 --> 00:38:24,050 Tenk på det. 788 00:38:24,050 --> 00:38:26,050 Og da vil vi kode det. 789 00:38:26,050 --> 00:38:29,260 790 00:38:29,260 --> 00:38:33,610 Slash jeg kommer til å prøve og tenke på beste måten å forklare dette svaret til deg. 791 00:38:33,610 --> 00:38:49,945 792 00:38:49,945 --> 00:38:50,470 OK. 793 00:38:50,470 --> 00:38:53,150 Vi får det satt opp. 794 00:38:53,150 --> 00:38:53,920 OK. 795 00:38:53,920 --> 00:38:56,370 >> Så vi bare kommer å gå gjennom dette, 796 00:38:56,370 --> 00:38:59,010 fordi jeg vet jQuery er litt forvirrende. 797 00:38:59,010 --> 00:39:01,710 Javascript. 798 00:39:01,710 --> 00:39:03,542 Det er litt der ute. 799 00:39:03,542 --> 00:39:05,875 Så hva vi skal gjøre er [Uhørbart] faktisk løst 800 00:39:05,875 --> 00:39:07,250 dette problemet med jQuery. 801 00:39:07,250 --> 00:39:09,490 Så hvis du husker, jQuery er bare et bibliotek 802 00:39:09,490 --> 00:39:11,520 det er bare bygget på toppen av Javascript. 803 00:39:11,520 --> 00:39:14,750 Det er ment å gjøre livet litt enklere. 804 00:39:14,750 --> 00:39:17,660 >> Jeg ville definitivt, hvis du har tid, se over 805 00:39:17,660 --> 00:39:20,510 en liten bit av den dokumentasjon for jQuery. 806 00:39:20,510 --> 00:39:23,230 Men det er svært lik Javascript. 807 00:39:23,230 --> 00:39:27,830 Det har lignende paradigmer, hvor du bruke denne dot operatøren ringe funksjoner 808 00:39:27,830 --> 00:39:31,720 på objekter som du har. 809 00:39:31,720 --> 00:39:36,970 >> Så det vi har her er for jQuery, du bør alltid ha denne typen 810 00:39:36,970 --> 00:39:43,010 av omslaget, som er $ (Document) .ready (funksjon) -funksjonen 811 00:39:43,010 --> 00:39:45,510 i parentes her. 812 00:39:45,510 --> 00:39:46,070 OK. 813 00:39:46,070 --> 00:39:48,700 Så dette kan være noe du vil ha på din jukselapp. 814 00:39:48,700 --> 00:39:52,070 Fordi i det minste, kan du har wrapper for din jQuery. 815 00:39:52,070 --> 00:39:57,190 Og det vil i det minste få du del måter der. 816 00:39:57,190 --> 00:40:00,110 >> Så på samme måte som vi snakket mye om Javascript, 817 00:40:00,110 --> 00:40:04,560 og vi vil starte med å se på hva vi prøver å redigere 818 00:40:04,560 --> 00:40:06,150 eller hva vi prøver å endre. 819 00:40:06,150 --> 00:40:09,050 Og det vil typisk være første at vi ville sette inn. 820 00:40:09,050 --> 00:40:18,270 Så i dette tilfellet, hvis vi går tilbake til dette her og vi ser på vår skjema her, 821 00:40:18,270 --> 00:40:21,790 vi har dette innganger, rett, dette id innganger. 822 00:40:21,790 --> 00:40:24,780 Og vi vet at basert på spørsmålet vårt, vi 823 00:40:24,780 --> 00:40:27,970 er enten kommer til å kaste en feil hvis dette er tomt, 824 00:40:27,970 --> 00:40:31,720 eller vi kommer til å sette dette inn i et varsel, ikke sant? 825 00:40:31,720 --> 00:40:36,670 Så sannsynligvis trygt å si at vi er kommer til å være håndtere innganger her. 826 00:40:36,670 --> 00:40:41,770 >> jQuery er svært like i at hvis vi tenker tilbake til CSS, noe med en ID 827 00:40:41,770 --> 00:40:44,760 vi ser på med en hash. 828 00:40:44,760 --> 00:40:48,310 Noe med klassen vi sett på med en prikk, ikke sant? 829 00:40:48,310 --> 00:40:53,210 Så på samme måte her, hva vi snakker om er innganger. 830 00:40:53,210 --> 00:40:56,920 Vi så at inngangene er en ID innenfor vårt skjema. 831 00:40:56,920 --> 00:41:00,850 Så vi kommer til å referere til det som sådan. 832 00:41:00,850 --> 00:41:01,653 Innganger. 833 00:41:01,653 --> 00:41:02,460 OK? 834 00:41:02,460 --> 00:41:04,480 >> Så når du er i tvil, selv hvis du har ingen steder, 835 00:41:04,480 --> 00:41:09,100 hvis du er veldig usikker på hvordan du nærme seg dette, A, har denne wrapper. 836 00:41:09,100 --> 00:41:11,780 Så start der med wrapper for jQuery. 837 00:41:11,780 --> 00:41:16,330 B, sørg for at du vet hva du er i endring. 838 00:41:16,330 --> 00:41:18,830 Og når du er i tvil, sette det i noe, 839 00:41:18,830 --> 00:41:21,390 og gjøre prikk, uansett hva du tror du bør gjøre med det. 840 00:41:21,390 --> 00:41:22,150 >> PUBLIKUM: Hva er den wrapper? 841 00:41:22,150 --> 00:41:24,160 >> SPEAKER 1: wrapper Dette første linje. 842 00:41:24,160 --> 00:41:27,520 Så dette sier, vente til dokumentet mitt er klar. 843 00:41:27,520 --> 00:41:29,160 Da begynne å rote med ting. 844 00:41:29,160 --> 00:41:30,890 OK? 845 00:41:30,890 --> 00:41:32,780 Så vi vet at vi får med innganger. 846 00:41:32,780 --> 00:41:35,450 Så vi er like, OK, er innganger skjemaet vårt. 847 00:41:35,450 --> 00:41:37,220 Det er vår ID. 848 00:41:37,220 --> 00:41:39,800 Så det er det vi er kommer til å være ute etter. 849 00:41:39,800 --> 00:41:45,220 Og vi ønsker å se hva som skjer når dette skjemaet er sendt, ikke sant? 850 00:41:45,220 --> 00:41:50,180 >> Slik som vi kanskje tror, vi har noen .submit. 851 00:41:50,180 --> 00:41:56,080 Så .submit bare sier, OK, dette skjemaet som vi har referert med hash-innganger, 852 00:41:56,080 --> 00:41:59,594 når det er fremlagt, utføre noe annet. 853 00:41:59,594 --> 00:42:01,135 Så vi kommer til å ha noen funksjon. 854 00:42:01,135 --> 00:42:05,010 855 00:42:05,010 --> 00:42:07,270 Merker vi ha anonyme funksjoner her. 856 00:42:07,270 --> 00:42:09,090 Vi har en anonym funksjon her. 857 00:42:09,090 --> 00:42:09,590 Ja. 858 00:42:09,590 --> 00:42:14,880 >> PUBLIKUM: Vil det alltid være .submit, eller er det bare fordi i HTML, 859 00:42:14,880 --> 00:42:18,260 vi gjort knapptypen Send inn? 860 00:42:18,260 --> 00:42:23,680 >> SPEAKER 1: Det bør .submit, fordi det er en form som vi sender inn. 861 00:42:23,680 --> 00:42:27,750 Fordi denne .submit ikke nødvendigvis tilsvare hva den knappen er som 862 00:42:27,750 --> 00:42:28,430 å ringe. 863 00:42:28,430 --> 00:42:32,610 Men det faktum at det er en form at vi sender inn. 864 00:42:32,610 --> 00:42:33,140 OK. 865 00:42:33,140 --> 00:42:35,015 >> Så oppdager anonym funksjon her som says-- 866 00:42:35,015 --> 00:42:37,348 PUBLIKUM: Jeg gjør egentlig ikke forstå anonyme funksjoner. 867 00:42:37,348 --> 00:42:39,240 SPEAKER 1: Så anonym funksjoner, de er 868 00:42:39,240 --> 00:42:42,380 bare noen funksjoner som ikke har et navn. 869 00:42:42,380 --> 00:42:49,560 Så i stedet for å ha noen hovedfunksjon at oppfordring vi kunne si, hvis dokumentet 870 00:42:49,560 --> 00:42:52,380 klar, så vi vil kalle innganger. 871 00:42:52,380 --> 00:42:57,470 Og så, når de sendes, call-- Som, hvis så-og-så sendt, 872 00:42:57,470 --> 00:42:59,550 vi vil kalle en annen funksjon. 873 00:42:59,550 --> 00:43:01,840 En anonym funksjon bare ikke ha et navn, 874 00:43:01,840 --> 00:43:05,120 og det vil bare utføre innenfor disse slags ting. 875 00:43:05,120 --> 00:43:10,970 >> Så i dette tilfellet, hva dette sier er, Når vår dokumentet er klar, 876 00:43:10,970 --> 00:43:12,880 utføre denne funksjonen. 877 00:43:12,880 --> 00:43:17,110 Denne funksjonen er sammensatt av alt innen her. 878 00:43:17,110 --> 00:43:24,410 Og så det neste laget i er, OK, når innganger er sendt inn, utføre dette. 879 00:43:24,410 --> 00:43:28,329 Det er bare en måte å betegne hva som skal utføres når. 880 00:43:28,329 --> 00:43:30,120 Det er bokstavelig talt bare en funksjon som ikke 881 00:43:30,120 --> 00:43:32,860 ha et navn, slik de pleier å nestes inn i hverandre, 882 00:43:32,860 --> 00:43:35,132 fordi du kan ikke kalle dem ved navn. 883 00:43:35,132 --> 00:43:36,984 OK? 884 00:43:36,984 --> 00:43:39,775 Bokstavelig talt, en anonym funksjon er bare en funksjon uten et navn. 885 00:43:39,775 --> 00:43:41,470 Det var det. 886 00:43:41,470 --> 00:43:47,370 Bare en måte å kapsle forskjellige ting 887 00:43:47,370 --> 00:43:49,250 at vi ønsker utført på bestemte tider. 888 00:43:49,250 --> 00:43:51,164 >> PUBLIKUM: [uhørlig]. 889 00:43:51,164 --> 00:43:53,420 >> SPEAKER 1: Ventilen? 890 00:43:53,420 --> 00:43:54,360 Hvor? 891 00:43:54,360 --> 00:43:57,510 >> PUBLIKUM: I parentes etter funksjon? 892 00:43:57,510 --> 00:44:00,660 >> SPEAKER 1: Etter funksjoner. 893 00:44:00,660 --> 00:44:01,290 Hvem av dem? 894 00:44:01,290 --> 00:44:02,410 >> PUBLIKUM: Begge. 895 00:44:02,410 --> 00:44:05,137 Hvis du putter, som, hendelse, eller hvis du sette et argument i det, 896 00:44:05,137 --> 00:44:07,372 ville det være galt? 897 00:44:07,372 --> 00:44:12,592 >> SPEAKER 1: I dette tilfellet antar jeg du kan sette et argument i det. 898 00:44:12,592 --> 00:44:15,619 Men fordi vi ikke trenger en argument, bør det ikke være. 899 00:44:15,619 --> 00:44:17,410 Liker, er det hele, lignende, bør du bare 900 00:44:17,410 --> 00:44:19,810 har ting som er nødvendig slags ting. 901 00:44:19,810 --> 00:44:29,325 På samme måte som om vi hadde noen En funksjon som har int main void-- lignende, 902 00:44:29,325 --> 00:44:35,687 med int main tomrom, du kunne gjøre int arg v, uansett. 903 00:44:35,687 --> 00:44:38,270 Men hvis du ikke trenger dem, du bør ikke ha dem der. 904 00:44:38,270 --> 00:44:39,070 Samme. 905 00:44:39,070 --> 00:44:40,896 Emma, ​​hadde du et spørsmål? 906 00:44:40,896 --> 00:44:41,671 OK. 907 00:44:41,671 --> 00:44:42,170 Cool. 908 00:44:42,170 --> 00:44:42,670 OK. 909 00:44:42,670 --> 00:44:45,862 Så det vi har så langt er når vår dokumentets klar, utføre dette. 910 00:44:45,862 --> 00:44:47,570 Nå ser vi på når den er sendt inn. 911 00:44:47,570 --> 00:44:51,530 Så nå er vi faktisk har liksom av kjøtt av vår greie. 912 00:44:51,530 --> 00:45:00,120 Så vi trenger å få den verdien som brukeren presentert, enten det være et navn 913 00:45:00,120 --> 00:45:01,340 eller tom. 914 00:45:01,340 --> 00:45:07,270 Og da må vi enten retur dette varselet eller kaste en feil. 915 00:45:07,270 --> 00:45:08,560 Uansett. 916 00:45:08,560 --> 00:45:13,690 >> Så hvordan erklærer vi gjør en variabel i Javascript? 917 00:45:13,690 --> 00:45:14,670 Var. 918 00:45:14,670 --> 00:45:19,430 Så la oss si, ulike navn equals-- eller faktisk, vil vi 919 00:45:19,430 --> 00:45:21,960 gjøre verdi siden jeg tror det er navnet. 920 00:45:21,960 --> 00:45:23,920 OK. 921 00:45:23,920 --> 00:45:31,320 Så vi har noen verdi her at vi ønsker å trekke fra våre innganger skjema. 922 00:45:31,320 --> 00:45:34,100 Så på samme måte som vi gjorde slags innganger, 923 00:45:34,100 --> 00:45:38,380 kan noen fortelle meg hva vi kan være ringer innenfor her 924 00:45:38,380 --> 00:45:41,230 hvis vi ønsket å få navnet i form? 925 00:45:41,230 --> 00:45:46,929 Og hvis vi ser tilbake på vår skjema her, Vi merker at vi har en ID på navn. 926 00:45:46,929 --> 00:45:47,845 PUBLIKUM: [uhørlig]. 927 00:45:47,845 --> 00:45:51,026 928 00:45:51,026 --> 00:45:54,675 >> SPEAKER 1: Du trenger ikke å tenke på det som en matrise. 929 00:45:54,675 --> 00:45:57,650 930 00:45:57,650 --> 00:46:00,760 Du trenger ikke å bekymre deg for det. 931 00:46:00,760 --> 00:46:03,250 Så vi bare har noen navn. 932 00:46:03,250 --> 00:46:09,022 Og da fordi Java og ting er rare, kan vi ikke bare gjøre "navn." 933 00:46:09,022 --> 00:46:11,230 Vi faktisk nødt til å ringe noen funksjon som gir oss, 934 00:46:11,230 --> 00:46:14,160 lignende, kan verdien av denne identifikator. 935 00:46:14,160 --> 00:46:15,160 OK? 936 00:46:15,160 --> 00:46:16,780 Så det er bare .val. 937 00:46:16,780 --> 00:46:18,356 >> PUBLIKUM: [uhørlig]. 938 00:46:18,356 --> 00:46:19,160 >> SPEAKER 1: OK. 939 00:46:19,160 --> 00:46:27,030 Så med Javascript, denne typen ting her bare går gjennom. 940 00:46:27,030 --> 00:46:35,730 Og du kan tenke på dette as-- det er som nesten en getElementById, hvor 941 00:46:35,730 --> 00:46:40,630 getElementById ville faktisk returnere hele tingen for deg. 942 00:46:40,630 --> 00:46:49,930 The $ ("# name") er akkurat som, OK, jeg har det, jeg har tilgang til den, 943 00:46:49,930 --> 00:46:52,265 men hvis du faktisk ønsker det for å returnere verdien til you-- 944 00:46:52,265 --> 00:46:53,596 >> PUBLIKUM: Er det som en peker? 945 00:46:53,596 --> 00:46:55,070 >> SPEAKER 1: Det er typen som en peker. 946 00:46:55,070 --> 00:46:57,069 Du kan tenke på det som Nesten som en peker. 947 00:46:57,069 --> 00:46:59,060 Liker, sier det, OK, jeg vet hvordan å komme dit, 948 00:46:59,060 --> 00:47:02,330 men å faktisk få verdi ut av det, må du eksplisitt ber om det. 949 00:47:02,330 --> 00:47:07,800 Og dessverre, selvsagt gjør vi ikke gjøre for mye med Javascript og jQuery. 950 00:47:07,800 --> 00:47:12,160 >> Så det kommer til å komme ned til hvor mye du guys-- hva du vet, 951 00:47:12,160 --> 00:47:17,610 hva du tilfeldigvis har sett, og hva du kan slags logisk gjette på. 952 00:47:17,610 --> 00:47:21,639 Fordi noen av disse tingene, du kan sannsynligvis få halvveis. 953 00:47:21,639 --> 00:47:24,180 Men for å få det helt riktig, Jeg tror dette problemet sannsynligvis 954 00:47:24,180 --> 00:47:25,624 hadde en av de laveste score. 955 00:47:25,624 --> 00:47:27,790 PUBLIKUM: Som, for eksempel, for [uhørbart] innganger, 956 00:47:27,790 --> 00:47:29,450 hvorfor ikke du har til å sette val der? 957 00:47:29,450 --> 00:47:30,450 SPEAKER 1: For denne? 958 00:47:30,450 --> 00:47:31,124 PUBLIKUM: Yeah. 959 00:47:31,124 --> 00:47:31,790 SPEAKER 1: Yeah. 960 00:47:31,790 --> 00:47:33,498 Fordi dette er snill av liker, som vi sa, 961 00:47:33,498 --> 00:47:37,180 noen peker, og dette er meg referere det og faktisk får oss verdien. 962 00:47:37,180 --> 00:47:38,872 >> PUBLIKUM: Mens [uhørbart]? 963 00:47:38,872 --> 00:47:42,060 >> SPEAKER 1: For innganger, innganger er bare some-- 964 00:47:42,060 --> 00:47:44,450 det er som om vi er bare ser på det som en helhet, 965 00:47:44,450 --> 00:47:48,859 og dette .submit forteller oss det vi trenger å vite. 966 00:47:48,859 --> 00:47:50,150 jQuery og Javascript er merkelig. 967 00:47:50,150 --> 00:47:50,800 Jeg vet. 968 00:47:50,800 --> 00:47:51,690 Jeg vet det, folkens. 969 00:47:51,690 --> 00:47:52,460 Jeg vet. 970 00:47:52,460 --> 00:47:55,260 Det er en grunn til at jeg ikke gjør det gjøre web-programmering. 971 00:47:55,260 --> 00:47:56,230 Bare tuller. 972 00:47:56,230 --> 00:47:57,780 Jeg har ikke hatt nok eksponering til det. 973 00:47:57,780 --> 00:47:59,070 >> PUBLIKUM: [uhørlig] CSS. 974 00:47:59,070 --> 00:48:00,206 >> [Latter] 975 00:48:00,206 --> 00:48:00,590 >> SPEAKER 1: OK, det er CSS. 976 00:48:00,590 --> 00:48:03,730 CSS er bare, som, gjøre ting pen, det er ikke som la oss håndtere data. 977 00:48:03,730 --> 00:48:05,710 Det er en forskjell der. 978 00:48:05,710 --> 00:48:06,350 OK. 979 00:48:06,350 --> 00:48:12,110 Så nå forhåpentligvis, part-- dette også, for et problem som dette, hvor du kan ikke 980 00:48:12,110 --> 00:48:16,070 kjenner syntaks, du kan være like, OK, kan du ha noen Div verdi 981 00:48:16,070 --> 00:48:18,320 og være som, antar jeg fikk verdien på riktig måte. 982 00:48:18,320 --> 00:48:20,600 Og så du kan sannsynligvis skrive dette neste del. 983 00:48:20,600 --> 00:48:24,640 Denne neste delen vil sannsynligvis virker mye mer lett, 984 00:48:24,640 --> 00:48:26,610 eller det ville gjøre logisk forstand til dere. 985 00:48:26,610 --> 00:48:31,520 >> Mens det vi har skrevet så langt, Jeg vet at jeg ville være som, umm, ja, 986 00:48:31,520 --> 00:48:34,340 Jeg vet ikke at på quiz. 987 00:48:34,340 --> 00:48:37,610 Du kan helt skrive psuedocode og deretter bryte seg inn i real-kode 988 00:48:37,610 --> 00:48:40,460 når you-- det er typen som matematikk. 989 00:48:40,460 --> 00:48:42,904 Hvis du noen gang har hatt noen flerdelt problem der 990 00:48:42,904 --> 00:48:44,820 du vet ikke hvordan de skal komme forbi det første trinnet, 991 00:48:44,820 --> 00:48:46,736 men alt annet avhengig av det første trinnet, 992 00:48:46,736 --> 00:48:49,577 du bare si, som antar x er lik fire. 993 00:48:49,577 --> 00:48:50,910 Og så du kjører med det, ikke sant? 994 00:48:50,910 --> 00:48:52,410 >> Du kan gjøre det samme med kode. 995 00:48:52,410 --> 00:48:55,740 Så du kan si, antar Jeg fikk verdien høyre. 996 00:48:55,740 --> 00:48:58,290 Deretter må du gjøre dette neste del her. 997 00:48:58,290 --> 00:49:02,610 Fordi denne delen faktisk bør være ganske logisk. 998 00:49:02,610 --> 00:49:06,560 >> Så vi må sjekke hvis vår verdi er tom. 999 00:49:06,560 --> 00:49:11,650 Eller hvis det er noen navn, faktisk gi et varsel. 1000 00:49:11,650 --> 00:49:15,085 Så hva kan vi ønsker å sjekke? 1001 00:49:15,085 --> 00:49:17,800 Vi ønsker å ha noen If. 1002 00:49:17,800 --> 00:49:19,510 Hva tror du vår Hvis det skal være? 1003 00:49:19,510 --> 00:49:24,141 Vi må sjekke for å se om verdien er-- hvis det ikke er en tom streng. 1004 00:49:24,141 --> 00:49:30,740 1005 00:49:30,740 --> 00:49:31,730 >> Perfekt. 1006 00:49:31,730 --> 00:49:32,570 Nøyaktig. 1007 00:49:32,570 --> 00:49:33,070 OK. 1008 00:49:33,070 --> 00:49:36,320 Så hvis det er tilfelle, hva vi ønsker å gjøre? 1009 00:49:36,320 --> 00:49:39,190 Vi ønsker å kaste litt våken, ikke sant? 1010 00:49:39,190 --> 00:49:41,090 Så det er bare varsling. 1011 00:49:41,090 --> 00:49:43,050 Og så hva vi vil inne. 1012 00:49:43,050 --> 00:49:45,430 Så hva er vi antok å ha inne i vårt varsling? 1013 00:49:45,430 --> 00:49:48,916 >> PUBLIKUM: "Hallo." 1014 00:49:48,916 --> 00:49:50,421 >> SPEAKER 1: Komma. 1015 00:49:50,421 --> 00:49:52,462 Og så gjør dere husker hvordan å sette sammen? 1016 00:49:52,462 --> 00:49:53,400 >> PUBLIKUM: Plus. 1017 00:49:53,400 --> 00:49:54,520 >> SPEAKER 1: Plus. 1018 00:49:54,520 --> 00:49:57,490 Så vi ønsker å ha pluss. 1019 00:49:57,490 --> 00:50:03,480 Og da trenger vi et annet pluss for vår utropstegn. 1020 00:50:03,480 --> 00:50:05,620 Cool. 1021 00:50:05,620 --> 00:50:06,540 OK. 1022 00:50:06,540 --> 00:50:08,255 Ellers hva kan vi ønsker å gjøre? 1023 00:50:08,255 --> 00:50:10,380 Vi ønsker ikke å gjøre noe, ikke sant? 1024 00:50:10,380 --> 00:50:14,190 Så vi bare returnere falsk. 1025 00:50:14,190 --> 00:50:17,200 Ikke hva jeg ønsker å gjøre. 1026 00:50:17,200 --> 00:50:18,520 OK. 1027 00:50:18,520 --> 00:50:20,660 >> Og så disse, av course-- hva som er viktig 1028 00:50:20,660 --> 00:50:23,510 er å huske å lukke dine anonyme funksjoner. 1029 00:50:23,510 --> 00:50:27,230 Så hvis du legger merke til, har vi noen funksjon her som ender her. 1030 00:50:27,230 --> 00:50:31,710 Så vi må lukke dette første og legge et semikolon. 1031 00:50:31,710 --> 00:50:35,195 Og så dette her har å gjøre med denne anonyme funksjon, 1032 00:50:35,195 --> 00:50:38,650 så vi lukke den der. 1033 00:50:38,650 --> 00:50:40,190 At kne-jerk reaksjon av sparing. 1034 00:50:40,190 --> 00:50:40,690 Ja. 1035 00:50:40,690 --> 00:50:45,650 PUBLIKUM: Er det en grunn at-- bare i alle eksemplene i Java 1036 00:50:45,650 --> 00:50:48,480 som jeg har sett, har vi de første klammeparentes 1037 00:50:48,480 --> 00:50:51,075 på samme linje som den funksjon? 1038 00:50:51,075 --> 00:50:53,040 >> SPEAKER 1: Det er stilistisk. 1039 00:50:53,040 --> 00:50:54,130 Yeah. 1040 00:50:54,130 --> 00:51:00,650 Og faktisk, hvis du tar 61, vi gjøre alle våre klammeparentes på den måten. 1041 00:51:00,650 --> 00:51:01,830 Huh? 1042 00:51:01,830 --> 00:51:05,030 >> PUBLIKUM: Hvis vi gjøre det på den PSet, er så ille for stil? 1043 00:51:05,030 --> 00:51:05,720 >> SPEAKER 1: Nei. 1044 00:51:05,720 --> 00:51:09,710 Vi har eksplisitt fortalt dere å gjøre dette. 1045 00:51:09,710 --> 00:51:14,540 Men faktisk, er denne typen av den dominerende konvensjonen 1046 00:51:14,540 --> 00:51:19,620 i en masse C klasser og Javascript og jQuery. 1047 00:51:19,620 --> 00:51:23,074 Så åpenbart, jeg er sure-- og faktisk, hvis jeg 1048 00:51:23,074 --> 00:51:26,770 var å gjøre dette problemet helt blind uten å ha sett på det, 1049 00:51:26,770 --> 00:51:30,080 Det er sannsynligvis svært få måter jeg ville ha fått dette. 1050 00:51:30,080 --> 00:51:36,160 >> Jeg kan ha vært like, OK, kanskje jeg trenger å ta noe som er en inngang. 1051 00:51:36,160 --> 00:51:38,020 Og jeg tror at det kunnskap som, som, 1052 00:51:38,020 --> 00:51:43,240 OK, hvis jeg ønsker å få noe fra en form som har en ID, 1053 00:51:43,240 --> 00:51:46,990 Jeg viser til det på denne måten, Jeg vil nok få det. 1054 00:51:46,990 --> 00:51:49,940 Jeg kan få dette. 1055 00:51:49,940 --> 00:51:53,400 Men egentlig, det eneste som jeg tror Jeg ville virkelig få er denne retten her. 1056 00:51:53,400 --> 00:51:59,230 >> Så det er litt viktig å vet, som med noen vanskelig test, 1057 00:51:59,230 --> 00:52:02,130 du slags velge dine kamper, ikke sant? 1058 00:52:02,130 --> 00:52:06,780 Hvis du vet at du ikke kommer til å få den første delen for jQuery, som jeg sa, 1059 00:52:06,780 --> 00:52:10,080 anta at du har denne verdien og gjøre det du kan med det. 1060 00:52:10,080 --> 00:52:14,730 Og hvis du har tid, kan du gå tilbake og prøve og fylle i stykker. 1061 00:52:14,730 --> 00:52:17,150 Men ikke la et spørsmål som dette virkelig bog deg ned. 1062 00:52:17,150 --> 00:52:18,080 Fordi hva? 1063 00:52:18,080 --> 00:52:23,260 Dette var ett spørsmål om jQuery ut av hele eksamen. 1064 00:52:23,260 --> 00:52:25,810 Så ja, det ville være flott om du fikk den. 1065 00:52:25,810 --> 00:52:28,297 >> PUBLIKUM: [uhørlig] deg er velkommen til å bruke jQuery. 1066 00:52:28,297 --> 00:52:30,005 SPEAKER 1: Du er velkommen til å bruke jQuery. 1067 00:52:30,005 --> 00:52:31,088 PUBLIKUM: OK. [Uhørbart]. 1068 00:52:31,088 --> 00:52:33,060 SPEAKER 1: Hvordan vil du ikke bruke det? 1069 00:52:33,060 --> 00:52:35,850 Jeg måtte se opp all min Script. 1070 00:52:35,850 --> 00:52:38,810 Det er faktisk mye lettere, Jeg tror, ​​for å bruke jQuery, 1071 00:52:38,810 --> 00:52:42,995 fordi jQuery faktisk reduserer Mengden av Java du skrive sannsynligvis 1072 00:52:42,995 --> 00:52:43,620 ved, som halvparten. 1073 00:52:43,620 --> 00:52:46,334 Så vår kode vil trolig være dobbelt så lang tid, uten at. 1074 00:52:46,334 --> 00:52:49,250 Så hvis du recognize-- den største ting å ta unna dette problemet 1075 00:52:49,250 --> 00:52:50,550 er mønstrene. 1076 00:52:50,550 --> 00:52:52,890 Hvis du får tilgang noe fra et skjema, 1077 00:52:52,890 --> 00:52:57,830 du kommer til å bruke anførselstegn, hasj, uansett hva du prøver å få tilgang. 1078 00:52:57,830 --> 00:53:01,000 Hvis det blir sendt, vil du å bruke noe sånt som en .submit. 1079 00:53:01,000 --> 00:53:03,680 Er du sannsynligvis kommer til å bruke en anonym funksjon i det. 1080 00:53:03,680 --> 00:53:08,030 Hvis du faktisk trenger verdien av noe, du kommer til å gjøre sitater, 1081 00:53:08,030 --> 00:53:12,160 hasj, hva det feltet er, .val. 1082 00:53:12,160 --> 00:53:14,690 Og gjenkjenne mønstre sånn går 1083 00:53:14,690 --> 00:53:19,586 å være langt mer nyttig enn egentlig å vite nitty modig. 1084 00:53:19,586 --> 00:53:20,562 Ja. 1085 00:53:20,562 --> 00:53:23,164 >> PUBLIKUM: Så hvis det brukeren sender inn sine navn 1086 00:53:23,164 --> 00:53:27,394 og det går gjennom den uttalelsen, vil det gå ned og returnere falsk etter dette? 1087 00:53:27,394 --> 00:53:30,373 >> SPEAKER 1: Nei, fordi varselet du kan tenke på det som en retur. 1088 00:53:30,373 --> 00:53:30,873 Yeah. 1089 00:53:30,873 --> 00:53:31,590 Så det vil gå ut. 1090 00:53:31,590 --> 00:53:31,925 Yeah. 1091 00:53:31,925 --> 00:53:33,883 >> PUBLIKUM: Kunne du [? plassere?] parente 1092 00:53:33,883 --> 00:53:37,105 av sender, parentes, noe? 1093 00:53:37,105 --> 00:53:38,870 >> SPEAKER 1: Jeg gjorde det, tror jeg. 1094 00:53:38,870 --> 00:53:42,300 Denne er stengt akkurat her. 1095 00:53:42,300 --> 00:53:45,800 Og så dette blir stengt ned her. 1096 00:53:45,800 --> 00:53:47,135 >> PUBLIKUM: Å, det. 1097 00:53:47,135 --> 00:53:48,470 OK. 1098 00:53:48,470 --> 00:53:53,572 >> SPEAKER 1: Selvfølgelig, lite, små syntaktiske ting 1099 00:53:53,572 --> 00:53:55,780 sånn, vil vi sannsynligvis bare sirkle det og være like, 1100 00:53:55,780 --> 00:53:58,385 ikke glem parentes. 1101 00:53:58,385 --> 00:53:59,810 Men ja. 1102 00:53:59,810 --> 00:54:00,950 OK. 1103 00:54:00,950 --> 00:54:04,190 Har vi en annen at vi ønsker å gjøre? 1104 00:54:04,190 --> 00:54:07,700 1105 00:54:07,700 --> 00:54:11,599 Visste dere få det binære treet en? 1106 00:54:11,599 --> 00:54:12,890 Ønsker vi å gå over den? 1107 00:54:12,890 --> 00:54:17,940 Jeg føler meg som binære trær og Doms bør være punkter 1108 00:54:17,940 --> 00:54:19,880 at dere får ganske enkelt. 1109 00:54:19,880 --> 00:54:21,978 Jeg vil ikke at du å miste poeng på det. 1110 00:54:21,978 --> 00:54:28,335 1111 00:54:28,335 --> 00:54:30,370 OK. 1112 00:54:30,370 --> 00:54:33,097 >> La oss gjøre dette DOM her. 1113 00:54:33,097 --> 00:54:35,555 Jeg skulle ønske jeg hadde min Surface så jeg bare kunne tegne på skjermen. 1114 00:54:35,555 --> 00:54:38,330 1115 00:54:38,330 --> 00:54:41,461 Det er det jeg pleide å gjøre i fjor. 1116 00:54:41,461 --> 00:54:41,960 OK. 1117 00:54:41,960 --> 00:54:48,370 Så som jeg nevnte, vi snakket om DOM, Document Object Model. 1118 00:54:48,370 --> 00:54:51,415 De sannsynligvis kommer til å gi deg noen litt av tekstutdrag som dette 1119 00:54:51,415 --> 00:54:54,250 og ber deg om å lage et tre for det. 1120 00:54:54,250 --> 00:54:58,050 Og dette bare har å gjøre med rennende gjennom kodene. 1121 00:54:58,050 --> 00:55:00,685 Så la oss prøve og gjøre dette. 1122 00:55:00,685 --> 00:55:09,610 1123 00:55:09,610 --> 00:55:12,920 >> Også, som per vanlig, hvis dere gjøre disse testene, som jeg sterkt 1124 00:55:12,920 --> 00:55:16,450 anbefaler at du gjør som praksis, noen av dem som du liker, 1125 00:55:16,450 --> 00:55:19,480 Jeg virkelig ikke får det er skjer her, bare, selvfølgelig, 1126 00:55:19,480 --> 00:55:23,334 send meg en e-post med et spørsmål, og jeg vil forklare så godt jeg kan. 1127 00:55:23,334 --> 00:55:25,298 OK. 1128 00:55:25,298 --> 00:55:33,420 >> Vi har noen dokumenter, og vi har HTML. 1129 00:55:33,420 --> 00:55:33,970 OK. 1130 00:55:33,970 --> 00:55:38,750 Så da vi bare analysere kodene her, ikke sant? 1131 00:55:38,750 --> 00:55:45,810 Så hva ser vi comes-- hva er de to underoverskrifter i henhold til HTML? 1132 00:55:45,810 --> 00:55:48,880 Spesielt fordi de er rykket inn på riktig måte? 1133 00:55:48,880 --> 00:55:49,580 Hode og kropp. 1134 00:55:49,580 --> 00:56:00,298 1135 00:56:00,298 --> 00:56:00,800 Ah. 1136 00:56:00,800 --> 00:56:03,730 1137 00:56:03,730 --> 00:56:04,960 Hode og kropp. 1138 00:56:04,960 --> 00:56:05,952 Lovely. 1139 00:56:05,952 --> 00:56:07,410 Så da la oss starte her med hodet. 1140 00:56:07,410 --> 00:56:09,090 Hva som er under hodet? 1141 00:56:09,090 --> 00:56:11,721 Hva er vår neste tag? 1142 00:56:11,721 --> 00:56:12,220 Tittel. 1143 00:56:12,220 --> 00:56:16,450 1144 00:56:16,450 --> 00:56:19,605 Og deretter innen tittel, quiz. 1145 00:56:19,605 --> 00:56:23,970 1146 00:56:23,970 --> 00:56:24,690 OK. 1147 00:56:24,690 --> 00:56:27,940 >> Så bokstavelig, det er bare vandre gjennom kodene, OK? 1148 00:56:27,940 --> 00:56:31,610 Så hvis vi har kroppen, som vi går gjennom, 1149 00:56:31,610 --> 00:56:35,460 Kroppen har tre ting i det, ikke sant? 1150 00:56:35,460 --> 00:56:36,400 Det har tre divs. 1151 00:56:36,400 --> 00:56:40,060 1152 00:56:40,060 --> 00:56:41,900 Hver div får sin egen lille boksen. 1153 00:56:41,900 --> 00:56:45,260 1154 00:56:45,260 --> 00:56:48,106 Og hva er i første div? 1155 00:56:48,106 --> 00:56:48,606 [Uhørbart] 1156 00:56:48,606 --> 00:56:52,070 1157 00:56:52,070 --> 00:56:57,292 Og så den neste er midten, som jeg bare kommer til å forkorte. 1158 00:56:57,292 --> 00:56:59,410 Og deretter den siste er bunnen. 1159 00:56:59,410 --> 00:57:06,060 1160 00:57:06,060 --> 00:57:07,650 >> Så egentlig, det er bare å gå gjennom. 1161 00:57:07,650 --> 00:57:11,140 Og fordi vi kommer til å gi du HTML som er riktig innrykk, 1162 00:57:11,140 --> 00:57:16,800 kan du bokstavelig talt bare kjøre gjennom og være som, OK, her er HTML. 1163 00:57:16,800 --> 00:57:19,460 Så dette er den ytterste hjørne, eller lengst til venstre, 1164 00:57:19,460 --> 00:57:22,410 så det må være sin egen greie. 1165 00:57:22,410 --> 00:57:26,360 Dette er på samme innrykk. 1166 00:57:26,360 --> 00:57:30,120 >> Så vi vet at hodet må være på samme nivå som kroppen, 1167 00:57:30,120 --> 00:57:32,040 men under HTML. 1168 00:57:32,040 --> 00:57:33,100 Det er det vi har her. 1169 00:57:33,100 --> 00:57:36,810 Hode og kropp er søsken, men de er under HTML. 1170 00:57:36,810 --> 00:57:39,130 Og da har vi bare gå inn i hver av disse. 1171 00:57:39,130 --> 00:57:44,370 Så hodet har tittel, som har quiz, som vi ser her. 1172 00:57:44,370 --> 00:57:48,210 Og så, i dette tilfellet, har vi legeme, som har disse tre linjer. 1173 00:57:48,210 --> 00:57:51,470 Så disse er alle søsken alt under kroppen. 1174 00:57:51,470 --> 00:57:53,732 OK? 1175 00:57:53,732 --> 00:57:56,190 Så forhåpentligvis når du ser noe sånt som dette, er du liker, 1176 00:57:56,190 --> 00:57:57,900 ja, jeg bare kommer til å tegne et tre. 1177 00:57:57,900 --> 00:58:00,430 Det kommer til å bli stor. 1178 00:58:00,430 --> 00:58:01,130 OK. 1179 00:58:01,130 --> 00:58:03,220 Så ville forsikre dere visste det. 1180 00:58:03,220 --> 00:58:10,510 >> Så hvorfor ikke vi gå til 32 med vår binære treet? 1181 00:58:10,510 --> 00:58:17,905 Fordi når du forstår en binær søketre, det er egentlig ikke så ille. 1182 00:58:17,905 --> 00:58:20,960 Så Everett, kan jeg erase-- jeg mener, disse er alle på nett, også. 1183 00:58:20,960 --> 00:58:24,130 Så hvis du har noen spørsmål. 1184 00:58:24,130 --> 00:58:44,410 1185 00:58:44,410 --> 00:58:46,370 >> Mistet en liten plass der, men det er OK. 1186 00:58:46,370 --> 00:58:50,190 Så binært søketre er bare en måte å organisere data 1187 00:58:50,190 --> 00:58:57,000 ikke i en matrise, der roten er alltid større 1188 00:58:57,000 --> 00:59:03,500 enn venstre barn og roten er alltid mindre enn den høyre barnet. 1189 00:59:03,500 --> 00:59:04,770 OK. 1190 00:59:04,770 --> 00:59:08,160 >> Så vi har denne store søketre her. 1191 00:59:08,160 --> 00:59:13,360 Vi har disse tallene, 34, 59, 20, 106, 36, og 52. 1192 00:59:13,360 --> 00:59:15,160 Og vi trenger å organisere dem på en slik måte 1193 00:59:15,160 --> 00:59:22,100 slik at roten er større enn alt på venstre side 1194 00:59:22,100 --> 00:59:24,750 og det er mindre enn alt på høyre side. 1195 00:59:24,750 --> 00:59:29,580 Og typisk, hva du ønsker å gjøre er å prøve og finne 1196 00:59:29,580 --> 00:59:31,720 noe om i midten. 1197 00:59:31,720 --> 00:59:35,420 Med binære søketrær, kan du ha å leke seg litt med det. 1198 00:59:35,420 --> 00:59:40,850 >> Men i dette tilfellet, la oss bare anta at vi vet dette første. 1199 00:59:40,850 --> 00:59:44,870 Så 36 er vår første her. 1200 00:59:44,870 --> 00:59:46,790 Vanligvis ville jeg prøve og velge noe 1201 00:59:46,790 --> 00:59:50,160 om i midten som vil sannsynligvis gi de beste resultatene. 1202 00:59:50,160 --> 00:59:56,200 Så nå vet vi at alt på denne side må være mindre enn 36. 1203 00:59:56,200 --> 00:59:59,520 Men også hva du kan se er at vi har to flekker enn her. 1204 00:59:59,520 --> 01:00:04,350 Så hvis vi vet at vi trenger to tall som er mindre enn roten, 1205 01:00:04,350 --> 01:00:08,670 så du kan bare bestille disse og å velge den tredje rekke. 1206 01:00:08,670 --> 01:00:09,390 OK. 1207 01:00:09,390 --> 01:00:11,550 >> Så hvorfor ikke vi starte med denne siden? 1208 01:00:11,550 --> 01:00:17,270 Så hvis vi vet at alt på denne side må være mindre enn 36-- 1209 01:00:17,270 --> 01:00:21,290 men hvis vi ser på dette, vi vet at dette tallet 1210 01:00:21,290 --> 01:00:25,180 må være mindre enn dette tallet, ikke sant? 1211 01:00:25,180 --> 01:00:30,810 Fordi dette nummeret her er på høyre side. 1212 01:00:30,810 --> 01:00:34,680 Og husk, akkurat som i våre større tre, alt på høyre 1213 01:00:34,680 --> 01:00:37,130 må være større enn ved roten. 1214 01:00:37,130 --> 01:00:40,540 På denne måten, vet vi at alt som er i dette behov 1215 01:00:40,540 --> 01:00:43,090 å være større enn det som er her. 1216 01:00:43,090 --> 01:00:44,020 OK? 1217 01:00:44,020 --> 01:00:46,340 >> Så vi har to valg for disse to bobler. 1218 01:00:46,340 --> 01:00:49,830 Vi har 32 og 34-- eller lei meg. 1219 01:00:49,830 --> 01:00:53,330 20 og 34. 1220 01:00:53,330 --> 01:00:56,500 Så hvordan tror du vi kan sette disse i? 1221 01:00:56,500 --> 01:00:59,230 Hvis dette må være større enn dette, 1222 01:00:59,230 --> 01:01:04,340 det betyr at vi ønsker å har 20 her og 34 her. 1223 01:01:04,340 --> 01:01:05,340 OK. 1224 01:01:05,340 --> 01:01:09,380 >> Så på samme måte, ser vi på denne type sub treet. 1225 01:01:09,380 --> 01:01:14,994 Og vi sier, OK, ikke har vi 36. 1226 01:01:14,994 --> 01:01:20,460 Vi har 106, 52, og 59. 1227 01:01:20,460 --> 01:01:21,590 Høyre? 1228 01:01:21,590 --> 01:01:24,820 I dette tilfellet er her, vi vet at dette må 1229 01:01:24,820 --> 01:01:29,570 å ha en ting som er større enn det og en ting som er mindre enn det. 1230 01:01:29,570 --> 01:01:30,100 Høyre? 1231 01:01:30,100 --> 01:01:34,580 Så hvis vi sette disse i orden, det er bare om å finne den midterste verdien igjen. 1232 01:01:34,580 --> 01:01:35,766 Så vår midterste verdien er 59. 1233 01:01:35,766 --> 01:01:38,524 1234 01:01:38,524 --> 01:01:40,190 Så da sier vi, OK, hva er mindre enn 59? 1235 01:01:40,190 --> 01:01:41,826 Vel, det er 52. 1236 01:01:41,826 --> 01:01:42,950 Og hva er større enn 59? 1237 01:01:42,950 --> 01:01:45,120 Vel, det er 106. 1238 01:01:45,120 --> 01:01:45,930 OK? 1239 01:01:45,930 --> 01:01:49,430 Så det er bare litt som et puslespill. 1240 01:01:49,430 --> 01:01:53,160 Det hjelper vanligvis, spesielt i små trær som dette, 1241 01:01:53,160 --> 01:01:56,617 hvis du bare bestille det, hvis du vet hvor mange som er på venstre 1242 01:01:56,617 --> 01:01:58,450 og hvor mange som er i rett, kan det bare 1243 01:01:58,450 --> 01:02:01,050 tillate deg å velge hva bør være på roten. 1244 01:02:01,050 --> 01:02:02,922 Og så kan du snill av arbeide derfra. 1245 01:02:02,922 --> 01:02:05,080 Mm-hm. 1246 01:02:05,080 --> 01:02:05,580 33? 1247 01:02:05,580 --> 01:02:07,570 Sikker. 1248 01:02:07,570 --> 01:02:10,120 OK. 1249 01:02:10,120 --> 01:02:17,410 Så vi ønsker å skape en node eller et binært søketre. 1250 01:02:17,410 --> 01:02:20,416 Og la oss se på hva som kan være i det. 1251 01:02:20,416 --> 01:02:26,130 1252 01:02:26,130 --> 01:02:28,600 Og jeg tror dette vil faktisk være vår siste problem. 1253 01:02:28,600 --> 01:02:29,510 Ah. 1254 01:02:29,510 --> 01:02:30,010 OK. 1255 01:02:30,010 --> 01:02:48,190 1256 01:02:48,190 --> 01:02:48,690 OK. 1257 01:02:48,690 --> 01:02:55,580 1258 01:02:55,580 --> 01:02:58,040 >> Dette er som hva vi kan tenker på som en node, ikke sant? 1259 01:02:58,040 --> 01:03:01,610 Vi har noen verdi, og vi vet at det vil enten 1260 01:03:01,610 --> 01:03:03,830 har venstre og høyre barn. 1261 01:03:03,830 --> 01:03:08,420 Binære søk tree-- det betyr at den har, på de fleste, to barn. 1262 01:03:08,420 --> 01:03:08,920 OK? 1263 01:03:08,920 --> 01:03:12,690 1264 01:03:12,690 --> 01:03:15,540 La oss tenke gjennom måten vi definert en lenket liste, ikke sant? 1265 01:03:15,540 --> 01:03:17,740 >> Vi hadde noen int som representerte verdi. 1266 01:03:17,740 --> 01:03:20,760 Vi hadde noen peker som representerte hva det skulle neste. 1267 01:03:20,760 --> 01:03:23,350 Binært søketre er svært like. 1268 01:03:23,350 --> 01:03:27,980 Vi har fortsatt noen verdi, n, at vi gir det, ikke sant? 1269 01:03:27,980 --> 01:03:31,750 Og da jeg trakk disse svært eksplisitt med piler, 1270 01:03:31,750 --> 01:03:34,010 fordi de er effektivt pekere. 1271 01:03:34,010 --> 01:03:34,940 OK? 1272 01:03:34,940 --> 01:03:38,500 >> Så n er vanligvis hva? 1273 01:03:38,500 --> 01:03:39,230 Det er noen verdi. 1274 01:03:39,230 --> 01:03:41,800 Hva gjør vi vanligvis utpeke den som? 1275 01:03:41,800 --> 01:03:42,500 En int. 1276 01:03:42,500 --> 01:03:49,980 Så vi har litt int n, eller int verdi, eller hva du vil kalle det. 1277 01:03:49,980 --> 01:03:53,230 Og så har vi venstre barn og retten barnet. 1278 01:03:53,230 --> 01:03:54,570 Høyre? 1279 01:03:54,570 --> 01:03:58,060 Og vi vet at det de er point-- hva er det de peker på? 1280 01:03:58,060 --> 01:04:01,560 De peker til andre noder, ikke sant? 1281 01:04:01,560 --> 01:04:07,540 Så hvordan ville vi erklære en node peker? 1282 01:04:07,540 --> 01:04:10,480 1283 01:04:10,480 --> 01:04:11,460 >> PUBLIKUM: [uhørlig]. 1284 01:04:11,460 --> 01:04:12,472 >> SPEAKER 1: Mm-hm. 1285 01:04:12,472 --> 01:04:14,305 Og vi kommer til å ha to av dem, ikke sant? 1286 01:04:14,305 --> 01:04:18,070 1287 01:04:18,070 --> 01:04:26,710 Og så kan vi bokstavelig talt trenger venstre for venstre barn 1288 01:04:26,710 --> 01:04:30,950 og til høyre for høyre barn. 1289 01:04:30,950 --> 01:04:31,820 Actually-- beklager. 1290 01:04:31,820 --> 01:04:33,155 Fordi vi trenger struct. 1291 01:04:33,155 --> 01:04:36,250 1292 01:04:36,250 --> 01:04:41,580 >> Så struct er fordi vi ikke har ferdig erklære en node ennå. 1293 01:04:41,580 --> 01:04:47,070 Så node er innenfor her. 1294 01:04:47,070 --> 01:04:49,640 Det er litt som en rekursiv definisjon, ikke sant? 1295 01:04:49,640 --> 01:04:53,140 Så når vi er innenfor denne definisjonen, vi 1296 01:04:53,140 --> 01:04:57,310 er ikke ferdig med å erklære node som strukturen, 1297 01:04:57,310 --> 01:04:59,380 så vi må gjøre struct node bare å si, ja, 1298 01:04:59,380 --> 01:05:03,930 vi er faktisk henviser tilbake til oss selv skriver ting. 1299 01:05:03,930 --> 01:05:07,410 Det som en gang det er opprettet, vil det være fint. 1300 01:05:07,410 --> 01:05:10,890 >> Så hvor stor tror dere dette er? 1301 01:05:10,890 --> 01:05:13,650 Hva er størrelsen på denne strukturen? 1302 01:05:13,650 --> 01:05:14,370 12. 1303 01:05:14,370 --> 01:05:14,870 Hvorfor? 1304 01:05:14,870 --> 01:05:18,990 1305 01:05:18,990 --> 01:05:19,664 Presist. 1306 01:05:19,664 --> 01:05:21,830 Og faktisk en av første spørsmål man Quiz One 1307 01:05:21,830 --> 01:05:24,170 er om størrelser, noe som er grunnen til at jeg spurte. 1308 01:05:24,170 --> 01:05:25,230 OK. 1309 01:05:25,230 --> 01:05:29,350 >> Vi kommer til å ende, fordi den DCE vil kjefte på meg hvis vi ikke gjør det. 1310 01:05:29,350 --> 01:05:33,790 Men hvis dere har noen spørsmål, selvfølgelig, send meg, gi meg beskjed. 1311 01:05:33,790 --> 01:05:35,190 Dere kommer til å rocke den. 1312 01:05:35,190 --> 01:05:37,210 Jeg er super spent. 1313 01:05:37,210 --> 01:05:39,380 Dere vil bli gjort som av onsdag, og deretter 1314 01:05:39,380 --> 01:05:43,150 du får til å fungere på den endelige prosjekter, og det kommer til å bli kjempebra. 1315 01:05:43,150 --> 01:05:48,784 >> Jeg vil være her neste uke 04:00 til 04:30 1316 01:05:48,784 --> 01:05:50,700 hvis dere ønsker å komme plukke opp dine quizer. 1317 01:05:50,700 --> 01:05:54,410 Hvis du ønsker å finne meg en annen gang eller bare koordinere et annet tidspunkt, 1318 01:05:54,410 --> 01:05:56,460 gjerne gi meg beskjed. 1319 01:05:56,460 --> 01:05:58,670 Ellers er dette vår siste delen. 1320 01:05:58,670 --> 01:06:01,070 Så det var flott å se dere. 1321 01:06:01,070 --> 01:06:02,450 Vennligst ta mer godteri. 1322 01:06:02,450 --> 01:06:05,390 Og lykke til på din quiz. 1323 01:06:05,390 --> 01:06:06,687