જેસન HIRSCHHORN: દરેક વ્યક્તિને સ્વાગત આ વિભાગ સાત છે. અમે અલબત્ત અઠવાડિયું સાત છે. અને આ આગામી ગુરુવાર હેલોવીન તેથી હું છું છે એક કોળા જેવા પોશાક પહેર્યો. હું ઉપર વળાંક અને ન મૂકી શકે હું છું શા માટે મારા પગરખાં, તેથી કે માત્ર મોજા પહેર્યા. હું પણ હેઠળ કંઈપણ પહેર્યા છું તે જો આ છે, તેથી હું તેને ન લઈ શકે છે તમે કંટાળી. હું તે માટે અગાઉથી દિલગીર છીએ. તમે કલ્પના કરવાની જરૂર નથી શું થઈ રહ્યું છે તે. હું બોક્સર પહેર્યા છું. તેથી તે બધા સારી છે. હું છું તે વિશે એક લાંબા સમય સુધી વાર્તા છે એક કોળા તરીકે પોશાક પહેર્યો છે, પણ હું જાઉં છું પછી આ વિભાગમાં માટે કે સેવ હું શરૂ કરવા માંગો છો છે. અમે ઉત્તેજક વસ્તુઓ ઘણો છે આ અઠવાડિયે પર જાઓ. તેમાંના મોટા ભાગના આ સીધા સંબંધ સપ્તાહની સમસ્યા સેટ, ખોટી જોડણી. અમે કડી પર જઈને કરી રહ્યા છીએ યાદીઓ અને હેશ કોષ્ટકો સમગ્ર વિભાગ માટે. હું દર અઠવાડિયે યાદી આ યાદી મૂકવામાં તમારી સાથે તમને મદદ કરવા માટે માટે સાધનો આ કોર્સ પર સામગ્રી. નુકસાન અથવા તો જો અમુક શોધી વધુ જાણકારી માટે, એક તપાસ આ સંસાધનો. ફરીથી, pset6 ખોટી જોડણી છે, આ અઠવાડિયાના pset. અને તે તમને પ્રોત્સાહન આપે છે અને હું કેટલાક અન્ય ઉપયોગ માટે, પ્રોત્સાહિત કરીએ છીએ સાધનો ખાસ કરીને આ pset માટે. ખાસ કરીને, ત્રણ હું કર્યું સ્ક્રીન પર યાદી થયેલ - અમે સાથે પરિચિત કરી છે જે GDB, અને હવે થોડા સમય માટે ઉપયોગ કરી રહ્યો છે, આ અઠવાડિયે ખૂબ જ ઉપયોગી હોઈ ચાલે. તેથી હું અહીં મૂકવામાં. પરંતુ જ્યારે તમે C સાથે કામ કરી રહ્યા છીએ, તમે હંમેશા GDB માટે ઉપયોગ કરવો જોઈએ તમારા કાર્યક્રમો ડિબગ. આ અઠવાડિયે પણ Valgrind. કોઈની Valgrind શું ખબર છે? પ્રેક્ષક: તે મેમરી લીક્સ માટે ચકાસે છે? જેસન HIRSCHHORN: Valgrind મેમરી લીક્સ માટે ચકાસે છે. તેથી જો તમે કંઈક malloc તમારા કાર્યક્રમ, તમે મેમરી માટે કહીએ છીએ. તમારા કાર્યક્રમ ઓવરને અંતે, તમારી પાસે તમે કરી છે બધું મુક્ત લખવા માટે પાછા મેમરી આપી malloced. તમે ઓવરને મુક્ત લખી અને ન હોય તો તમારા કાર્યક્રમ એક તારણ પર આવે છે, બધું આપમેળે કરશે મુક્ત કરી. અને નાના કાર્યક્રમો માટે, તે છે કે મોટું નથી સોદો. પરંતુ તમે લાંબા સમય સુધી ચાલી લખી રહ્યાં બહાર નીકળવા નથી કે કાર્યક્રમ, જરૂરી મિનિટ અથવા એક બે સેકન્ડ એક દંપતિ, તો પછી મેમરી લીક્સ એક વિશાળ સોદો બની શકે છે. તેથી pset6 માટે, અપેક્ષા છે તમારી સાથે શૂન્ય મેમરી લીક્સ પડશે તમારા કાર્યક્રમ. મેમરી લીક્સ માટે ચકાસવા માટે, ચલાવો Valgrind અને તે તમને કેટલાક સરસ આપીશું આઉટપુટ તમે ખબર છે કે શું ભાડા અથવા બધું મુક્ત કરવામાં આવી હતી નથી. અમે પછી તેની સાથે અભ્યાસ કરીશું આજે આશા. છેલ્લે, ભેદ આદેશ. તમે તે આના જેવું જ ઉપયોગ પિક સાધન સાથે Pset5 માં. તમે અંદર જોવા માટે મંજૂરી આપી હતી. તમે પણ દીઠ, પણ, ભેદ ઉપયોગ સમસ્યા સ્પેક સુયોજિત કરો. પરંતુ તમારા માટે મંજૂરી બે ફાઈલોની સરખામણી. તમે બીટમેપ ફાઇલ અને તુલના ન કરી શકાય માહિતી સ્ટાફ ઉકેલ હેડરો અને Pset5 તમારા ઉકેલ તો તમે તેનો ઉપયોગ કરવાનું પસંદ કરો. ભેદ તમે માટે પરવાનગી આપે છે સાથે સાથે, એ જ કરો. તમે માટે યોગ્ય જવાબ તુલના કરી શકો છો તમારા જવાબ પર સેટ કરો આ અઠવાડિયાના સમસ્યા અને જુઓ તો તે લીટીઓ અથવા જુઓ ભૂલો કરે છે. તેથી તે ત્રણ સારા સાધનો છે કે જો તમે આ સપ્તાહ માટે વાપરવા માટે, અને જોઇએ ચોક્કસપણે તમારા કાર્યક્રમ તપાસો આ ત્રણ સાધનો સાથે તેમાં ચાલુ કરતા પહેલા ફરીથી, હું દર અઠવાડિયે જણાવ્યું છે, બંને - તમે મારા માટે કોઈપણ પ્રતિક્રિયા હોય તો હકારાત્મક અને રચનાત્મક - વેબસાઈટ માટે વડા મફત લાગે આ સ્લાઇડ તળિયે અને ત્યાં ઇનપુટ તે. હું ખરેખર કોઇ કદર અને બધા શેર કરી છે. અને તમે મને ચોક્કસ વસ્તુઓ આપી છે કે જો હું છું કે સુધારવા માટે કરી શકો છો અથવા તમે મને માંગો છો કે સારી રીતે કરી હું હૃદય કે લાગે છે અને ચાલુ રાખવા માટે, ખરેખર સાંભળવા માટે સખત પ્રયત્ન કરો તમારા પ્રતિભાવ માટે. હું કરવા જાઉં છું વાયદા નથી બધું છે, જોકે, એક પહેર્યા જેવું દર અઠવાડિયે પોશાક કોળું. તેથી અમે બલ્ક પસાર જવું છે વિભાગ, હું ઉલ્લેખ કર્યો છે, વિશે વાત કડી થયેલ યાદીઓ અને હેશ કોષ્ટકો, જે આ સીધા લાગુ પડશે સમસ્યા આ અઠવાડિયે સુયોજિત કરો. લિંક કરેલા યાદીઓ અમે પ્રમાણમાં પર જઈશ અમે વાજબી બીટ ખર્ચવામાં કર્યું ઝડપથી કારણ સમય ના વિભાગ માં તેની પર જઈ રહી છે. અને તેથી અમે કોઈ રન નોંધાયો નહીં મળશે સંલગ્ન યાદી સમસ્યાઓ કોડિંગ. અને પછી ઓવરને અંતે અમે વિશે વાત કરીશું તેઓ આ માટે અરજી કેવી રીતે કોષ્ટકો હેશ અને સપ્તાહ સમસ્યા સુયોજિત કરો. તમે પહેલાં આ કોડ જોઇ છે. આ એક સ્ટ્રક્ટ છે, અને તે વ્યાખ્યાયિત થયેલ છે કંઈક નવી નોડ કહે છે. અને નોડ અંદર એક પૂર્ણાંક છે અહીં અને માટે નિર્દેશક છે અન્ય નોડ. અમે આ પહેલાં જોઈ છે. આ માટે કરવામાં આવતા છે હવે થોડા અઠવાડિયા. તે અમે કરી છે જે પોઇન્ટર, જોડે પરવાનગી આપે છે, અને સ્ટ્ર્ક્ટ્સ, સાથે કામ અમને બે અલગ અલગ ભેગા એક ડેટા પ્રકાર માં વસ્તુઓ. સ્ક્રીન પર થઈ રહ્યું ઘણો છે. પરંતુ તે તમામ પ્રમાણમાં પ્રયત્ન કરીશું તમારી સાથે પરિચિત. પહેલી લીટી પર, અમે નવી નોડ જાહેર. અને પછી તે નવા નોડ અંદર, હું સેટ એક કે નોડ માં પૂર્ણાંક. પરંતુ, હું કરી રહ્યો છું આગળના વાક્ય પર જોવા printf આદેશ છે, પણ હું પણ ગ્રે કરવામાં આવેલ છે આ printf આદેશ ખરેખર કારણ મહત્વપૂર્ણ ભાગ અહીં આ વાક્ય છે - new_node.n. ડોટ શું અર્થ છે? પ્રેક્ષક: નોડ પર જાઓ અને તે માટે n એ કિંમત મૂલ્યાંકન. જેસન HIRSCHHORN: કે એકદમ સચોટ. ડોટ પાંચ n એ ભાગ ઍક્સેસ અર્થ થાય છે આ નવા નોડ. આ આગામી વાક્ય શું કરે છે? માઈકલ. પ્રેક્ષક: તે અન્ય નોડ બનાવે કે નવા નોડ માટે નિર્દેશ કરશે. જેસન HIRSCHHORN: તેથી જો તેમ ન હોય નવી નોડ બનાવવા. તે શું કરે છે? પ્રેક્ષક: એક નિર્દેશક. જેસન HIRSCHHORN: નોડ માટે નિર્દેશક, અહીં આ નોડ * દ્વારા સૂચવાયેલ છે. તેથી તે નોડ માટે નિર્દેશક બનાવે છે. અને જે નોડ તે પોઇન્ટ છે માઇકલ, માટે? પ્રેક્ષક: નવા નોડ? જેસન HIRSCHHORN: નવા નોડ. અમે કર્યું કારણ કે તે ત્યાં પોઇન્ટ છે તે નવા નોડ આંકડાના આપવામાં આવે છે. અને હવે આ વાક્ય આપણે જુઓ બે અલગ અલગ રીતે આ જ વાત સતાવતી હતી. અને હું નિર્દેશ માગે છે કે કેવી રીતે આ બે વસ્તુઓ સમાન હોય છે. પ્રથમ વાક્ય, અમે ખોટો સંદર્ભ નિર્દેશક. તેથી અમે નોડ પર જાઓ. કે આ સ્ટાર થાય છે. અમે પોઇન્ટર સાથે પહેલા તે જોઇ છે. કે નોડ પર જાઓ. તે કૌંસ છે. અને પછી કોઈ ઓપરેટર મારફતે ઍક્સેસ કે નોડ n એ તત્વ. જેથી આ વાક્યરચના લેતી છે અમે અહીં છે અને હવે જોવા મળી હતી એક નિર્દેશક સાથે વાપરી રહ્યા છે. અલબત્ત, તે તો વ્યસ્ત કાઇન્ડ નહીં તમે તે કૌંસ લખી રહ્યાં - કે સ્ટાર અને તે કોઈ. તે થોડો વ્યસ્ત નોંધાયો નહીં. તેથી અમે કેટલાક વાકયરચનામાં ખાંડ છે. અને અહીં આ વાક્ય - ptr_node-> એન. તે જ ચોક્કસ વસ્તુ છે. તેથી કોડ આ બે રેખાઓ છે સમાન અને કરશે ચોક્કસ જ વાત. પરંતુ હું તે પહેલાં તે નિર્દેશ કરવા માગે છે અમે આમ તે શીખવું આગળ કોઈ જાઓ ખરેખર અહીં આ બાબત એ છે કે dereferencing માટે માત્ર વાકયરચનામાં ખાંડ નિર્દેશક અને પછી રહ્યું કે સ્ટ્રક્ટ ની n એ ભાગ છે. આ સ્લાઇડ વિશે કોઈ પ્રશ્ન? બરાબર. તેથી અમે દંપતિ પસાર રહ્યા છીએ તમે કરી શકો છો કામગીરી સંલગ્ન યાદીઓ. એક કડી થયેલ યાદી, સ્મૃતિ, એક શ્રેણી છે એક બીજા માટે નિર્દેશ કે ગાંઠો. અને અમે સામાન્ય રીતે એક નિર્દેશક સાથે શરૂ કહેવાય વડા, સામાન્ય રીતે, કે નિર્દેશ આ યાદીમાં પહેલી વસ્તુ. અહીં પહેલી લીટી પર તેથી અમે પ્રથમ અમારી મૂળ એલ છે. તેથી તે વસ્તુ તમે વિચાર કરી શકો છો - આ અહીં લખાણ તમે વિચાર કરી શકો છો અમે સ્ટોર કરી માત્ર નિર્દેશક ક્યાંક પોઇન્ટ કે પ્રથમ તત્વ છે. અને આ કડી થયેલ યાદીમાં અમે ચાર ગાંઠો હોય છે. દરેક નોડને મોટા બોક્સ છે. મોટા અંદર મોટા બોક્સ બોક્સ પૂર્ણાંક ભાગ છે. અને પછી અમે એક નિર્દેશક ભાગ છે. આ બોક્સ દોરવામાં નથી ધોરણ કેવી રીતે મોટી છે કારણ કે બાઈટમાં પૂર્ણાંક? મોટા કેવી રીતે હવે? ચાર. અને નિર્દેશક મોટું કેવી રીતે છે? ચાર. તેથી ખરેખર, અમે ડ્રો તો આ બંને બોક્સ આરોહણ એ જ માપ છે. આ કિસ્સામાં, અમે સામેલ કરવા માંગો છો આ કડી થયેલ યાદી માં કંઈક. તેથી જો અમે દાખલ કરી રહ્યા છો નીચે અહીં જોઈ શકો છો પાંચ અમે મારફતે પસાર સંલગ્ન યાદી શોધવા જ્યાં પાંચ જાય છે, અને પછી તે દાખલ કરો. ચાલો તેને તોડી અને જાઓ થોડો વધુ ધીમે ધીમે. હું બોર્ડ માટે નિર્દેશ જાઉં છું. જેથી અમે અમારા નોડ છે પાંચ કે અમે mallocs માં બનાવી છે. શા માટે બધાને હસતી છે? માત્ર મજાક કરું છું. બરાબર. તેથી અમે પાંચ malloced છે. અમે આ નોડ બનાવી છે બીજે ક્યાંય. અમે જાઓ તે તૈયાર છે. અમે આ બોલ પર શરૂ બે સાથે અમારી યાદી. અને અમે સામેલ કરવા માંગો છો છટણી ફેશન. તેથી અમે બે જુઓ અને અમે મૂકવા માંગો છો અમે જુઓ જ્યારે પાંચ, અમે શું કરી શકું અમને કરતાં ઓછી કંઈક? શું? અમે આ માં પાંચ સામેલ કરવા માંગો છો સંલગ્ન યાદી, તે છટણી રાખી હતી. અમે બે નંબર જુઓ. તેથી અમે શું કરી શકું? માર્કસ? પ્રેક્ષક: નિર્દેશક કૉલ કરો બીજા ગાંઠ છે. જેસન HIRSCHHORN: શા માટે અમે આગામી એક માટે જાય છે? પ્રેક્ષક: તે છે કારણ કે યાદીમાં બીજા ગાંઠ. અને અમે માત્ર તે અન્ય ખબર. જેસન HIRSCHHORN: અને પાંચ વધારે છે બે કરતાં, ખાસ કરીને. અમે છટણી રાખવા માંગો છો છે. તેથી પાંચ બે કરતા વધારે છે. તેથી અમે આગામી એક પર ખસેડો. અને હવે અમે ચાર પહોંચે છે. અમે ચાર પહોંચે છે ત્યારે તેઓ શું કરે? પાંચ ચાર કરતા વધારે છે. તેથી અમે ચાલુ રાખવામાં. અને હવે અમે છ પર છો. અને અમે છ પર શું જોવા મળે છે? હા, કાર્લોસ? પ્રેક્ષક: છ પાંચ કરતા વધારે છે. જેસન HIRSCHHORN: છ છે પાંચ કરતા વધારે. અમે માંગો છો જેથી જ્યાં પાંચ દાખલ કરવા માટે. જો કે, ધ્યાનમાં રાખો કે, જો અમે માત્ર અહીં એક નિર્દેશક હોય છે - આ છે કે અમારા વધારાની નિર્દેશક છે યાદી મારફતે સરકાઉ. અને અમે છ પોઇન્ટ કરી રહ્યાં છો. અમે શું ટ્રેક ગુમાવ્યું છે છ પહેલાં આવે છે. તેથી અમે માં કંઈક દાખલ કરવા માંગો છો પાળે આ યાદી, અલગ પાડવામાં અમે કદાચ કેટલા પોઇન્ટર જરૂર છે? પ્રેક્ષક: બે. જેસન HIRSCHORN: બે. એક વર્તમાન સાચવી રાખે એક અને માત્ર એક ટ્રેક રાખવા માટે પહેલાનાં એક. આ માત્ર ત્યારે જ એક singly કડી થયેલ યાદી છે. તે માત્ર ત્યારે જ એક દિશામાં જાય છે. અમે એક સમયમાં બમણું કડી થયેલ યાદી હતી, જ્યાં બધું આ વસ્તુ તરફ ઇશારો કરવામાં આવ્યો હતો તે અને તે પહેલાં આ વસ્તુ, તો પછી પછી અમે તે શું કરવાની જરૂર નથી. પરંતુ આ કિસ્સામાં અમે ગુમાવી નથી માંગતા કિસ્સામાં અમને પહેલા આવી શું ટ્રૅક અમે પાંચ ક્યાંક દાખલ કરવાની જરૂર છે મધ્યમાં. અમે નવ દાખલ કરવામાં આવી હતી કહે છે. જ્યારે શું થશે શું અમે આઠ મળી? પ્રેક્ષક: તમે હોય તો કે નલ બિંદુ છે. તેના બદલે નલ બિંદુ કર્યા તમારી પાસે છો એક તત્વ ઉમેરો અને પછી હોય તે નવ નિર્દેશ કરે છે. જેસન HIRSCHORN: ચોક્કસ. તેથી અમે આઠ વિષે. અમે યાદી ઓવરને પહોંચી કારણ કે આ નલ પોઇન્ટ છે. અને હવે, તેના બદલે કર્યા તે નિર્દેશ નલ અમે તેને અમારા નવા નોડ માટે નિર્દેશ છે. અને અમે માં નિર્દેશક સેટ null છે અમારા નવા નોડ. કોઈની કોઇ પ્રશ્નો હોય તો દાખલ વિશે શું? શું વિશે હું પડી નથી જો છટણી યાદી રાખવા? પ્રેક્ષક: આ પર રહો શરૂઆત અથવા અંત થાય છે. જેસન HIRSCHORN: પર રહો શરૂઆતમાં અથવા અંત થાય છે. એક જે આપણે કરવું જોઈએ? બોબી? શા માટે અંત? પ્રેક્ષક: કારણ કે શરૂઆતમાં પહેલેથી જ ભરવામાં આવે છે. જેસન HIRSCHORN: બરાબર. શરૂઆત પહેલાથી જ ભરવામાં આવે છે. કોણ બોબી સામે દલીલ કરે છે માંગે છે. માર્કસ. પ્રેક્ષક: સારી રીતે તમે કદાચ માંગો છો શરૂઆતમાં તે વળગી કારણ તમે મૂકી અન્યથા જો તમે હોય તો અંત સમગ્ર યાદી પસાર થાય છે. જેસન HIRSCHORN: ચોક્કસ. અમે રનટાઈમ વિશે વિચારી રહ્યાં છો જો આમ હોય, અંતે દાખલ રનટાઈમ n એ હશે, તો આ માપ. દાખલ ના મોટા ઓ રનટાઈમ શું છે શરૂઆતમાં? સતત સમય. તેથી તમે રાખવા વિશે પડી નથી જો કંઈક, માત્ર વધુ સારું છટણી આ યાદી શરૂઆતમાં દાખલ કરો. અને તે સતત સમય માં કરી શકાય છે. બરાબર. આગળ કામગીરી શોધવા માટે, કે જે અન્ય છે - અમે શોધ આ phrased છે. પરંતુ અમે મારફતે જોવા જઈ રહ્યાં છો કેટલાક પદાર્થ માટે કડી થયેલ યાદી. તમે ગાય્ઝ માટે કોડ જોઈ હોય વ્યાખ્યાન પહેલાં શોધ કરે છે. પરંતુ અમે પ્રકારની માત્ર સાથે કર્યું હતું દાખલ કરો, અથવા ઓછામાં ઓછા દાખલ કંઈક અલગ પાડવામાં. તમે મારફતે જુઓ, નોડ દ્વારા નોડ રહ્યું છે, શું તમે ખરેખર છો કે નંબર શોધવા સુધી શોધી. તમે પહોંચી તો શું થાય આ યાદી ઓવરને? હું નવ અને હું શોધી રહ્યો છું કહો આ યાદી ઓવરને પહોંચે છે. અમે શું કરી શકું? પ્રેક્ષક: ખોટા પાછા? જેસન HIRSCHORN: ખોટા આવો. અમે તેને શોધી શક્યા ન હતા. તમે યાદીમાંથી ઓવરને સુધી પહોંચવા અને જો શું તમે ખરેખર છો સંખ્યા મળ્યાં નથી શોધી, તે ત્યાં નથી. વિશે કોઈ પ્રશ્ન શોધવા? આ છટણી યાદી હતી, શું કરશે અમારા શોધ માટે અલગ હોઈ? અરે વાહ. પ્રેક્ષક: તે પ્રથમ કિંમત મળશે કે એક કરતાં વધારે છે તમે શોધી રહ્યા છો અને પછી ખોટા આવો. જેસન HIRSCHORN: ચોક્કસ. તેથી તે છટણી યાદી છે, અમે મેળવવા જો તેના કરતાં વધારે છે કે કંઈક અમે શોધી રહ્યાં છો, અમે જરૂર નથી આ યાદી ઓવરને જવા રાખો. અમે તે સમયે ખોટા પાછા આવી શકો છો અમે તેને શોધી નથી જઈ રહ્યાં છો છે. આ પ્રશ્ન હવે, અમે વિશે વાત કરી છે છટણી સંલગ્ન યાદીઓ રાખવા, ક્રમમાંગોઠવાયેલનથી તેમને રાખી હતી. એટલે કે, તમે છો કંઈક હશે કદાચ વિશે વિચારો હોય રહ્યા જો તમે કોડિંગ સમસ્યા પાંચ સેટ ત્યારે અલગ સાથે હેશ ટેબલ પસંદ chaining અભિગમ, જે અમે પછી વિશે વાત કરીશું. પરંતુ તે યાદી રાખો કે મનોરંજન પછી છટણી અને કદાચ હોય કરવાનો પ્રયત્ન કુલ શોધ? કે પછી ઝડપથી દાખલ કરવા માટે વધુ સારું છે પછી સતત રનટાઈમ માં કંઈક પરંતુ શોધ લાંબા સમય સુધી છે? તે સાચું છે જે સંતુલિત છે કે જે તમને વધુ યોગ્ય છે તે નક્કી કરવા માટે વિચાર તમારા ચોક્કસ સમસ્યા માટે. અને જરૂરી પણ એવું બનવું છે એકદમ યોગ્ય જવાબ. પરંતુ તે ચોક્કસપણે તમે વિચાર નિર્ણય છે બનાવવા માટે, અને કદાચ સારી કોઈ રન નોંધાયો નહીં કે માં કહે છે, એક ટિપ્પણી કે બે કેમ તમે એક કરતાં બીજા પસંદ કર્યું હતું. છેલ્લે, કાઢી નાંખવા. અમે કાઢી નાંખવા જોઇ છે. તે શોધ માટે સમાન છે. અમે તત્વ તરીકે જુઓ. અમે છ કાઢી નાખવા પ્રયાસ કરી રહ્યા છો કહે છે. તેથી અમે અહીં છ શોધો. અમે ખાતરી કરવા માટે અમે કરી છે કે આ બાબત શું ગમે પોઇન્ટ છે કે છે છ - અમે પગલાંની જુઓ નીચે અહીં બે - છ જરૂરિયાતો પોઇન્ટ છે ગમે હવે છ અવગણો અને બદલાવું જ ગમે છ પોઇન્ટ છે. અમે ક્યારેય બાકીના ઓરફામ નથી માંગતા કે સેટ ભૂલી દ્વારા અમારી યાદી અગાઉના નિર્દેશક. અને પછી ક્યારેક, આધાર રાખીને કાર્યક્રમ પર, તેઓ માત્ર પડશે સંપૂર્ણપણે આ નોડ કાઢી નાંખો. ક્યારેક તમે પાછા માંગો છો પડશે આ નોડ છે કિંમત છે કે જે. જેથી કામ કાઢવા કેવી રીતે. પર કોઈપણ પ્રશ્ન દૂર કરશો? પ્રેક્ષક: તેથી તમે કાઢી રહ્યા છીએ તે જ્યારે તમે માત્ર મફત ઉપયોગ કરશે કારણ કે કદાચ તે malloced હતી? જેસન HIRSCHORN: જો તમારી પાસે મુક્ત કરવા માંગો છો, એકદમ સચોટ અને તમે કંઈક છે જે તે malloced. અમે આ કિંમત પરત માગતા હતા કહો. અમે પાછા શકે છ અને પછી મુક્ત તેના પર આ નોડ અને કોલ મફત છે. અથવા આપણે કદાચ પ્રથમ મફત કૉલ છો અને પછી છ આવો. બરાબર. તેથી આપણે કોડિંગ પ્રેક્ટિસ પર ખસેડો. અમે ત્રણ વિધેયો કોડ કરવા જઈ રહ્યાં છો. પ્રથમ એક insert_node કહેવામાં આવે છે. તેથી હું તમને ઇમેઇલ કે કોડ છે, અને તમે પાછળથી આ જોઈ રહ્યાં છો જો તમે linked.c માં કોડ ઍક્સેસ કરી શકો છો આ CS50 વેબસાઇટ પર. પરંતુ linked.c, કેટલાક છે પહેલેથી જ છે કે હાડપિંજર કોડ તમારા માટે લખવામાં આવ્યા. અને પછી થોડા વિધેયો છે તમે લખવા માટે જરૂર છે. પ્રથમ અમે રહ્યા છીએ insert_node લખો. અને શું કરે છે insert_node નોંધ પૂર્ણાંક દાખલ. અને તમે પૂર્ણાંક આપીને કરી રહ્યાં છો એક કડી થયેલ યાદી માં. અને ખાસ કરીને, તમે જરૂર છટણી યાદી રાખો નાના થી સૌથી છે. પણ, તમે નહિં માંગો કોઈપણ ડુપ્લિકેટ્સ દાખલ કરો. છેલ્લે, જો તમે insert_node જોઈ શકો છો એક bool આપે છે. તેથી જો તમે વપરાશકર્તા જણાવો માનવામાં કરી રહ્યાં છો સામેલ કરો હતી કે નહીં સાચું કે ખોટું પરત દ્વારા સફળ. આ કાર્યક્રમ ઓવરને અંતે - અને આ તબક્કે માટે તમે જરૂર નથી કંઈપણ મુક્ત કરીને ચિંતા. જેથી તમે કરી રહ્યા છીએ બધા પૂર્ણાંક લેવા છે અને યાદી તેને દાખલ. કે હું હવે શું તમને પૂછવા છું છે. ફરીથી, આ linked.c માં, જે તમે છે બધા, હાડપિંજર કોડ છે. અને તમે નીચે તરફ જોવા જોઈએ નમૂના કાર્ય જાહેરાત. જો કે, તે કોડિંગ જવા પહેલાં સી, હું ખૂબ જાઓ માટે પ્રોત્સાહિત કરીએ છીએ પગલાંઓ મારફતે અમે કરી છે દરેક અઠવાડિયે પ્રેક્ટિસ. અમે પહેલાથી જ પસાર કર્યો છે આ ચિત્ર. તેથી તમે કેટલાક સમજ હોવી જોઇએ આ કેવી રીતે કામ કરે છે. પરંતુ હું લખવા માટે પ્રોત્સાહિત કરીએ છીએ કરશે સાઇન ડાઇવિંગ પહેલાં કેટલાક સ્યુડોકોડનો અને અમે પર જાઓ રહ્યા છીએ એક જૂથ તરીકે સ્યુડોકોડનો. અને પછી તમે તેવા પરચૂરણ ખર્ચ કર્યો વાર તમારા સ્યુડોકોડનો, અને અમે તેવા પરચૂરણ ખર્ચ કર્યો વાર અમારા એક જૂથ તરીકે સ્યુડોકોડનો, તમે કરી શકો છો સી માં તે કોડિંગ જાય સચેત રહો, આ insert_node કાર્ય તરીકે કદાચ ના trickiest છે ત્રણ અમે લખી રહ્યા છીએ, કારણ કે હું માટે કેટલીક વધારાની અવરોધ ઉમેર્યું તમારા પ્રોગ્રામિંગ, ખાસ કરીને કે જો તમે કોઇ સામેલ કરવા જઈ રહ્યાં છો ડુપ્લિકેટ્સ અને તે યાદી છટણી રહે કરીશું. તેથી આ એક નગણ્ય કાર્યક્રમ છે કોડને કરવા જેવી. અને શા માટે તમે સાત પાંચ ન લો મિનિટ માત્ર પર કામ કરો સ્યુડોકોડનો અને કોડ. અને પછી અમે શરૂ થશે એક જૂથ તરીકે રહ્યું. ફરીથી, તમે માત્ર કોઇ પ્રશ્નો હોય, તો તમારા હાથ ઊંચો હું આસપાસ આવશે પડશે. . અમે પણ સામાન્ય રીતે આ છે - અથવા હું સ્પષ્ટ રીતે તમે કહી નથી લોકો સાથે કામ કરી શકે છે. પરંતુ દેખીતી રીતે, હું ખૂબ પ્રોત્સાહિત કરીએ છીએ, તમે પ્રશ્નો હોય તો, પૂછો તમે આગામી બેઠક પાડોશી અથવા તો બીજા સાથે કામ તો તમે કરવા માંગો છો. આ વ્યક્તિગત હોય છે નથી શાંત પ્રવૃત્તિ. માતાનો કેટલાક લેખન સાથે શરૂ કરો બોર્ડ પર સ્યુડોકોડનો. મને કોણ પ્રથમ વાક્ય આપી શકે છે આ કાર્યક્રમ માટે સ્યુડોકોડનો? આ કાર્ય માટે, તેના બદલે - insert_node. એલન? પ્રેક્ષક: તેથી હું હતી પ્રથમ બાબત હતી નોડ અને હું એક નવી નિર્દેશક બનાવી તે જ પોઇન્ટ આરંભ યાદી તરફ ઇશારો છે કે વસ્તુ. જેસન HIRSCHORN: બરાબર. તેથી જો તમે નવી નિર્દેશક બનાવી રહ્યા છો યાદીમાં નથી નોડ છે. પ્રેક્ષક: અધિકાર. અરે વાહ. જેસન HIRSCHORN: બરાબર. અને પછી આપણે શું કરવા માંગો છો? તે પછી શું છે? શું નોડ વિશે શું? અમે નોડ નથી. અમે હમણાં જ એક કિંમત છે. અમે નોડ સામેલ કરવા માંગો છો, તો આપણે શું અમે પણ એ પહેલાં કરવા માટે પ્રથમ તેને દાખલ વિશે વિચારો? પ્રેક્ષક: ઓહ, માફ કરશો. અમે નોડ માટે જગ્યા malloc કરવાની જરૂર છે. જેસન HIRSCHORN: ઉત્તમ. કરવા દો - બરાબર. કે ઊંચા પહોંચી શકો છો. બરાબર. અમે નીચે જાઓ રહ્યું છે, અને પછી કરી રહ્યાં છો અમે બે કૉલમ ઉપયોગ કરી રહ્યાં છો. હું ન જઇ શકો છો - બરાબર. નવી નોડ બનાવવા. તમે તેની યાદી જોવા માટે અન્ય નિર્દેશક બનાવી શકો છો તે અસ્તિત્વ ધરાવે છે કે તમે માત્ર યાદી વાપરી શકો છો. તમે ખરેખર તે કરવા માટે જરૂર નથી. તેથી અમે એક નવી નોડ બનાવવા. સરસ. તે આપણે કરવા માટે પ્રથમ છે. શું છે? પ્રેક્ષક: રાહ જુઓ. અમે હવે એક નવો નોડ બનાવવા જોઈએ અમે ખાતરી કરો કે રાહ જોવી જોઈએ નોડ કોઈ ડુપ્લિકેટ્સ છે આ યાદીમાં પહેલાં અમે તેને બનાવવા? જેસન HIRSCHORN: ગુડ પ્રશ્ન. પછી કારણ કે પકડી દો અમે બનાવવા પડશે તે સમયના મોટા ભાગના નવી નોડ. તેથી અમે અહીં કે રાખીએ છીએ. પરંતુ તે એક સારો પ્રશ્ન છે. અમે તેને બનાવવા અને અમે તો નકલી, શું જોઈએ અમે પરત પહેલા કરે છે? પ્રેક્ષક: તે મફત છે. જેસન HIRSCHORN: અરે વાહ. કદાચ તેને મુક્ત. બરાબર. અમે પછી અમે શું કરી શકું નવી નોડ બનાવવા? એની? પ્રેક્ષક: અમે મૂકી નોડ માં નંબર? જેસન HIRSCHORN: ચોક્કસ. અમે નંબર મૂકે છે - અમે જગ્યા malloc. હું છોડી જાઉં છું બધા એક લીટી તરીકે. પરંતુ તમે યોગ્ય છો. અમે પછી જગ્યા malloc અને અમે સાઇન સંખ્યા મૂકી અમે પણ નિર્દેશક સેટ કરી શકો છો null છે તે ભાગ. તે એકદમ સચોટ છે. અને પછી શું કે પછી શું? અમે બોર્ડ પર આ ચિત્ર દોર્યું હતું. તેથી અમે શું કરી શકું? પ્રેક્ષક: અમે યાદી પસાર થાય છે. જેસન HIRSCHORN: યાદી મારફતે જાઓ. બરાબર. અને અમે દરેક ગાંઠ પર શું તપાસ કરી શકું. કર્ટ, શું અમે તપાસ કરો દરેક ગાંઠ પર માટે? પ્રેક્ષક: જુઓ n એ કિંમત છે કે શું કે નોડ પાંચ n એ કિંમત કરતાં વધારે છે અમારા નોડ. જેસન HIRSCHORN: બરાબર. હું કરવા જાઉં છું - ઠીક છે, હા. તેથી તે n છે - હું કિંમત વધારે હોય છે કહેવા જાઉં છું આ નોડ કરતાં, તો પછી અમે શું કરી શકું? પ્રેક્ષક: સારું, તો પછી અમે દાખલ અધિકાર તે પહેલાં આ વસ્તુ. જેસન HIRSCHORN: બરાબર. તેથી તે કરતાં મોટો છે, પછી અમે સામેલ કરવા માંગો છો. પરંતુ અમે તે પહેલાં જ તે સામેલ કરવા માંગો છો અમે પ્રયત્ન કરવાની જરૂર છે કારણ કે રાખવામાં આવેલ છે, તો પછી, પહેલાં હતી શું. તેથી પહેલાં દાખલ કરો. તેથી અમે કદાચ કંઈક ચૂકી અગાઉ પર. અમે કદાચ રાખવા કરવાની જરૂર શું થઈ રહ્યું છે ટ્રૅક. પરંતુ અમે ત્યાં પાછા મળશે. તેથી શું કિંમત કરતાં ઓછી છે? કર્ટ, અમે તો શું કરવું કિંમત કરતાં ઓછી છે? પ્રેક્ષક: પછી તમે માત્ર ચાલુ રાખવા તે છેલ્લા એક છે જ્યાં સુધી. જેસન HIRSCHORN: હું જ ગમે છે. તેથી બીજા ગાંઠ પર જાઓ. તે છેલ્લા એક છે જ્યાં સુધી - અમે કદાચ તે માટે ચકાસણી કરી રહ્યા છીએ એક શરત એ દ્રષ્ટિએ. પરંતુ હા, બીજા ગાંઠ. અને તે, ખૂબ ઓછા મેળવવામાં છે તેથી અમે અહીં પર ખસેડવા પડશે. પરંતુ જો - બધાને આ જોઈ શકો છો? અમે સમાન છો તો શું કરવું છે? કિંમત અમે દાખલ કરવાનો પ્રયાસ કરી રહ્યાં છો આ નોડ કિંમત સમાન છે? અરે વાહ? પ્રેક્ષક: [અશ્રાવ્ય]. જેસન HIRSCHORN: અરે વાહ. આ જોતાં - માર્કસ યોગ્ય છે. અમે કદાચ જ આ કરી શકે કંઇક અલગ. પરંતુ અહીં, અમે તેને બનાવી છે કે જે આપેલ અમે મુક્ત અને પછી પરત કરીશું. ઓહ છોકરો. કે વધુ સારી છે? કે કેવી રીતે? બરાબર. અમે શું પછી મુક્ત અને [અશ્રાવ્ય], પાછા? બરાબર. આપણે કંઈ પણ ગુમાવે છે? તેથી જ્યાં અમે રાખવામાં આવેલ છે આ પહેલાં નોડ? પ્રેક્ષક: હું તેને જવા શકે છે પછી નવી નોડ બનાવવા. જેસન HIRSCHORN: બરાબર. તેથી શરૂઆતમાં અમે કદાચ પડશે - હા, અમે એક નવું માટે નિર્દેશક બનાવી શકો છો પહેલાંના નોડ નિર્દેશક જેવા નોડ, અને એક વર્તમાન નોડ નિર્દેશક. તેથી આપણે અહીં દાખલ કરો. બનાવો વર્તમાન અને અગાઉના આ ગાંઠો પોઇન્ટર. પરંતુ જ્યારે અમે તે પોઇન્ટર વ્યવસ્થિત કરી શકું? અમે તે કોડમાં ક્યાં કરવું? જેફ? પ્રેક્ષક: - કિંમત શરતો? જેસન HIRSCHORN: જે ખાસ કરીને એક? પ્રેક્ષક: મેં હમણાં જ મૂંઝવણમાં છું. મૂલ્ય, આ નોડ કરતાં વધારે છે કે તમે જવા માંગો છો એનો અર્થ એ નથી બીજા ગાંઠ માટે? જેસન HIRSCHHORN: તેથી અમારા કિંમત છે આ નોડ ની કિંમત કરતાં વધારે. પ્રેક્ષક: અરે વાહ, તો પછી તમે કરવા માંગો છો છો અધિકાર આ રેખા નીચે વધુ જાઓ? જેસન HIRSCHHORN: અધિકાર. તેથી અમે તેને અહીં દાખલ કરશો નહિં. કિંમત, આ નોડ કરતાં ઓછી છે અમે બીજા ગાંઠ પર જાઓ - પછી અથવા આપણે પહેલાં દાખલ કરો. પ્રેક્ષક: આ છે, કે જે રાહ જુઓ નોડ અને જે કિંમત છે? જેસન HIRSCHHORN: ગુડ પ્રશ્ન. ભાવ આ કાર્ય વ્યાખ્યા દીઠ અમે આપવામાં રહ્યાં છે તે છે. તેથી કિંમત અમે આપવામાં રહ્યાં છો તે નંબર છે. તેથી કિંમત કરતાં ઓછી હોય તો નોડ, અમે દાખલ કરવા માટે સમય જરૂર છે. મૂલ્ય, આ નોડ કરતાં વધારે છે અમે બીજા ગાંઠ પર જાઓ. અને પાછા મૂળ પ્રશ્ન કરવા માટે, જોકે, જ્યાં - પ્રેક્ષક: કિંમત વધારે છે આ નોડ કરતાં. જેસન HIRSCHHORN: અને તેથી અમે અહીં શું કરે છે? મીઠી. તે યોગ્ય છે. હું માત્ર લખવા જઈ રહ્યો છું સુધારા પોઇન્ટર. પરંતુ હા, વર્તમાન એક સાથે તમે તેને સુધારવા કરશે આગામી એક નિર્દેશ કરે છે. બીજું કંઇ અમે ગુમાવી રહ્યાં છો? તેથી હું આ લખો જાઉં છું gedit માં કોડ. હું આ કરી અને, જ્યારે તમે કરી શકો છો કોડિંગ પર કામ થોડા વધુ મિનિટ આ સી તેથી હું ઇનપુટ સ્યુડોકોડનો છે. અમે શરૂ કરો તે પહેલાં એક ઝડપી નોંધ. અમે સક્ષમ સંપૂર્ણપણે ન પણ હોય બધા આ સમાપ્ત આ વિધેયો ત્રણ. તેમને યોગ્ય ઉકેલ છે હું તમને ગાય્ઝ માટે ઇમેઇલ કરશે વિભાગ પછી, અને તે કરશે CS50.net પર પોસ્ટ કરવામાં. તેથી હું તમને પ્રોત્સાહિત નથી પાંચ વિભાગો જોવા જાઓ. હું પર આ પ્રયાસ માટે પ્રોત્સાહિત કરીએ છીએ તમારા માલિક, અને પછી આ પ્રથા ઉપયોગ તમારો જવાબ ચકાસવા માટે સમસ્યાઓ. આ બધા તૈયાર કરવામાં આવી હોય તેમ નજીકથી સંબંધિત અને પાલન શું તમે આ સમસ્યા સેટ પર કરો. તેથી હું આ પ્રેક્ટિસ કરવા માટે પ્રોત્સાહિત કરે છે તમારા પોતાના પર અને પછી કરવા માટે કોડ ઉપયોગ તમારા જવાબ તપાસો. હું હેશ પર ખસેડવા માંગો છો કારણ કે આ વિભાગ માં કોઇ સમયે કોષ્ટકો. તેથી અમે તે બધા દ્વારા મળે છે. પરંતુ અમે હવે અમે કરી શકો છો તરીકે ખૂબ પ્રયાસો કરીશું. બરાબર. અમને શરૂ થાય છે. અસમ, અમે કેવી રીતે એક નવી નોડ બનાવવા છે? પ્રેક્ષક: તમે સ્ટ્રક્ટ * નથી. જેસન HIRSCHHORN: તેથી અમે અહીં સુધી છે. ઓહ, માફ કરશો. તમે * સ્ટ્રક્ટ કહેતા હતા. પ્રેક્ષક: અને પછી [? પ્રકારની?] નોડ કે સી નોડ. જેસન HIRSCHHORN: બરાબર. હું તે new_node કૉલ જાઉં છું તેથી અમે સતત રહી શકો છો. પ્રેક્ષક: અને તમે તે સેટ કરવા માંગો છો , પ્રથમ નોડ વડા. જેસન HIRSCHHORN: બરાબર. તેથી હવે આ માટે પોઇન્ટ - તેથી આ હજુ સુધી નવા નોડ બનાવવામાં નથી. આ માત્ર પોઇન્ટ છે યાદીમાં પ્રથમ નોડ. હું કેવી રીતે એક નવી નોડ બનાવવા છે? હું એક નવા નોડ બનાવવા માટે જગ્યાની જરૂર છે. Malloc. અને મોટા કેવી રીતે? પ્રેક્ષક: સ્ટ્રક્ટ માપ. જેસન HIRSCHHORN: આ સ્ટ્રક્ટ માપ. અને સ્ટ્રક્ટ શું કહેવાય છે? પ્રેક્ષક: નોડ? જેસન HIRSCHHORN: નોડ. તેથી malloc (sizeof (નોડ)); અમને જગ્યા આપે છે. અને આ વાક્ય છે - એક વસ્તુ આ વાક્ય પર ખોટું છે. સ્ટ્રક્ટ માટે નિર્દેશક new_node છે? તે એક સામાન્ય નામ છે. તે શું છે - નોડ, ચોક્કસ. તે * નોડ છે. અને અમે અધિકાર પછી શું કરવું અમે Asan કંઈક malloc? અમે શું પ્રથમ વસ્તુ શું છે? શું તે કામ ન કરે તો શું? પ્રેક્ષક: ઓહ, ચેક જો તે નોડ નિર્દેશ? જેસન HIRSCHHORN: ચોક્કસ. તેથી તમે new_node જો સમકક્ષ સમકક્ષ હોય નલ આપણે શું કરવું? આ એક bool, આ કાર્ય આપે છે. ચોક્કસ. સારી લાગે છે. ત્યાં ઉમેરવા કંઇ? અમે અંતે વસ્તુઓ ઉમેરો. પરંતુ તે અત્યાર સુધી સારી દેખાય છે. વર્તમાન અને અગાઉના પોઇન્ટર બનાવો. માઇકલ, હું આ કેવી રીતે કરવું? પ્રેક્ષક: તમે હશે નોડ કરવું *. તમે એક ન કરી હોય તો new_node માટે પણ માટે ગાંઠો અમે પહેલાથી જ હોય ​​છે. જેસન HIRSCHHORN: બરાબર. તેથી વર્તમાન નોડ અમે છો. હું કર કહી શકશો. અધિકાર છે. અમે રાખવા માંગો છો નક્કી કર્યું છે અમે જાણવાની જરૂર છે, કારણ કે બે શું તે પહેલાં છે. તેઓ શું આરંભ કરું? પ્રેક્ષક: અમારી યાદીમાં તેમની કિંમત. જેસન HIRSCHHORN છે: તેથી શું છે અમારી યાદી પર પ્રથમ વસ્તુ? અથવા આપણે કઈ રીતે જાણી શકું કે જ્યાં અમારા યાદી શરૂઆત છે? પ્રેક્ષક: તે પસાર થાય છે આ કાર્ય માં? જેસન HIRSCHHORN: અધિકાર. તે અહીં માં પસાર કરવામાં આવ્યો હતો. તે કાર્ય માં પસાર છે જો આમ હોય, યાદીમાં શરૂ કરવા માટે, શું અમે જોઈએ સમાન વર્તમાન સેટ? પ્રેક્ષક: યાદી. જેસન HIRSCHHORN: યાદી. તે એકદમ સચોટ છે. હવે તે સરનામું છે અમારી યાદી શરૂઆત. અને શું અગાઉના વિશે શું? પ્રેક્ષક: યાદી બાદ એક? જેસન HIRSCHHORN: છે તે પહેલાં કંઈ નથી. તેથી અમે કશું અર્થ શું કરી શકો છો? પ્રેક્ષક: નલ. જેસન HIRSCHHORN: અરે વાહ. તે એક સારો વિચાર જેવું વાગે છે. પૂર્ણ બનાવે છે. આભાર. યાદી મારફતે જાઓ. કોન્સ્ટેન્ટાઇન, ક્યાં સુધી અમે જોઈ રહ્યા છે યાદી મારફતે જાઓ? પ્રેક્ષક: અમે નલ પહોંચે ત્યાં સુધી. જેસન HIRSCHHORN: બરાબર. તેથી, જો લૂપ માટે, છે. અમે શું કરી રહ્યા છે? પ્રેક્ષક: કદાચ લૂપ માટે? જેસન HIRSCHHORN: માતાનો લૂપ માટે કરીએ. બરાબર. પ્રેક્ષક: અને અમે માટે કહે છે - વર્તમાન નિર્દેશક સુધી નલ માટે સમાન નથી. જેસન HIRSCHHORN: તેથી આપણે જાણીએ છીએ જો શરત, અમે કેવી રીતે લૂપ લખી શકો છો કે શરત બોલ આધારિત છે. અમે લૂપ કેવા પ્રકારની ઉપયોગ કરવો જોઈએ? પ્રેક્ષક: છે. જેસન HIRSCHHORN: અરે વાહ. તે આધારિત વધુ અર્થપૂર્ણ તમે શું કહ્યું બંધ. અમે ફક્ત અમે જાય કરવા માંગો છો, તે કરશે માત્ર તે વસ્તુ ખબર છે, તે કરી શકે છે જ્યારે લૂપ કરો અર્થમાં. વર્તમાન સમાન નથી નલ કરે છે, જ્યારે કિંમત આ નોડ કરતાં ઓછી છે. અક્ષર, મને આ વાક્ય આપે છે. પ્રેક્ષક: જો વર્તમાન-> n એ n એ કિંમત કરતાં ઓછો હોય છે. અથવા કે વિરુદ્ધ. કે કૌંસ સ્વિચ કરો. જેસન HIRSCHHORN: માફ કરશો. પ્રેક્ષક: કૌંસ બદલો. જેસન HIRSCHHORN: તેથી તે છે જો કિંમત કરતાં વધારે. કે સાથે ગૂંચવણમાં મૂકે છે કારણ કે ઉપર ટિપ્પણી, હું કરવા જાઉં છું. પરંતુ હા. અમારા કિંમત કરતાં ઓછી હોય તો નોડ, અમે શું કરવું? ઓહ. હું અહીં તે છે. પહેલાં દાખલ કરો. બરાબર. અમે તે કેવી રીતે કરવું? પ્રેક્ષક: તે મને હજુ પણ છે? જેસન HIRSCHHORN: અરે વાહ. પ્રેક્ષક: તમે - new_node-> આગામી. જેસન HIRSCHHORN: તેથી શું કે સમાન રહ્યું? પ્રેક્ષક: તે સમાન વર્તમાન બનશે. જેસન HIRSCHHORN: ચોક્કસ. અને તેથી અન્ય - અમે અપડેટ કરવા બીજું શું જરૂરી છે? પ્રેક્ષક: છેલ્લા નલ સમકક્ષ હોય છે કે નહિં તે ચકાસો. જેસન HIRSCHHORN: પાછલું તો - જો એમ હોય તો આગલા નલ સમકક્ષ હોય છે. પ્રેક્ષક: તે ચાલી રહ્યું છે એનો અર્થ એ થાય વડા બની જાય છે. જેસન HIRSCHHORN: તે અર્થ તે વડા બની છે. તેથી તો અમે શું કરી શકું? પ્રેક્ષક: અમે વડા કરી new_node સમકક્ષ હોય છે. જેસન HIRSCHHORN: હેડ new_node સમકક્ષ હોય છે. અને શા માટે યાદી આપતું, અહીં વડા? પ્રેક્ષક: વડા વૈશ્વિક છે શરૂ સ્થળ છે જે ચલ. જેસન HIRSCHHORN: સ્વીટ. બરાબર. અને - પ્રેક્ષક: પછી તમે બીજું નથી આગલા> આગામી new_node સમકક્ષ હોય છે. અને પછી તમે સાચું આવો. જેસન HIRSCHHORN: ક્યાં કરવું અમે new_node ઓવરને સેટ? પ્રેક્ષક: હું છો - હું શરૂઆતમાં કે સુયોજિત કરો. જેસન HIRSCHHORN: તેથી શું લાઇન? પ્રેક્ષક: પછી તો નિવેદન તે ઓળખાય છે, જો ચકાસણી. જેસન HIRSCHHORN: અહીં? પ્રેક્ષક: હું કરવા માંગો છો new_node-> n એ કિંમત સમકક્ષ હોય છે. જેસન HIRSCHHORN: સારી લાગે છે. કદાચ તે અર્થમાં બનાવે છે - અમે શું અમે છો શું યાદી જાણવાની જરૂર છે અમે માત્ર કામ કરીએ છીએ, કારણ કે એક યાદી સાથે. તેથી એક સારી કાર્ય જાહેરાત આ ફક્ત આ છુટકારો મેળવવા માટે છે સંપૂર્ણપણે અને માત્ર દાખલ માથા માં નીચેની કોડ. અમે પણ જાણવાની જરૂર નથી અમે સાઇન છો શું યાદી પરંતુ હું હવે તેને રાખવા અને કરશે પછી સુધારો કરવા પર બદલી સ્લાઇડ્સ અને કોડ. જેથી હવે માટે સારી દેખાય છે. જો કિંમત - જે આ વાક્ય શું કરી શકો છો? તો - અમે નુહ, અહીં શું કરી શકું. પ્રેક્ષક: કિંમત વધારે છે n એ કર-> કરતાં - જેસન HIRSCHHORN: કેવી રીતે આપણે બીજા ગાંઠ પર જાઓ? પ્રેક્ષક: કર-> n છે new_node સમાન. જેસન HIRSCHHORN: તેથી n છે સ્ટ્રક્ટ ભાગ શું? આ પૂર્ણાંક. અને new_node નોડ માટે નિર્દેશક છે. તેથી અમે કર ભાગ શું સુધારો પણ? નથી n એ, પછી અન્ય ભાગ શું છે? નુહ, જ્યારે બીજા વિભાગ છે. પ્રેક્ષક: ઓહ, આગામી. જેસન HIRSCHHORN: આગળ, ચોક્કસ. ચોક્કસ. આગળ યોગ્ય છે. અને અમે બીજું શું જરૂર છે , નુહ સુધારવા માટે? પ્રેક્ષક: આ પોઇન્ટર. જેસન HIRSCHHORN: તેથી અમે વર્તમાન દ્વારા સુધારાશે. પ્રેક્ષક: પાછલું> આગામી છે. જેસન HIRSCHHORN: અરે વાહ. બરાબર, અમે વિરામ પડશે. કોણ અહીં અમારો બહાર મદદ કરી શકે? મનુ, આપણે શું કરવું જોઈએ? પ્રેક્ષક: તમે સુયોજિત કરવા માટે મળી છે તે કર-> આગામી સમાન. પરંતુ અગાઉના વાક્ય પહેલાં થાય છે. જેસન HIRSCHHORN: બરાબર. બીજું કંઇ? અક્ષર. પ્રેક્ષક: હું તમે નથી લાગતું આગામી કર-> બદલવા માટે અર્થ થાય છે. હું તમને કર સમકક્ષ કરવા માટે અર્થ થાય છે રહ્યાં છો કર-> બીજા ગાંઠ પર જાઓ. જેસન HIRSCHHORN: તેથી માફ કરશો, છે? શું વાક્ય પર? આ લીટી? પ્રેક્ષક: યાહ. બનાવો કર આગામી કર-> સમકક્ષ હોય છે. જેસન HIRSCHHORN: તેથી તે સાચું છે વર્તમાન છે કારણ કે નોડ માટે નિર્દેશક. અને અમે તે આગામી માટે નિર્દેશ કરવા માંગો છો હાલમાં મળી છે તે નોડ પર ધ્યાન. કર પોતે એક આગામી છે. પરંતુ અમે તો curr.next સુધારવા માટે, અમે વાસ્તવિક નોંધ અપડેટ કરવામાં આવશે પોતે નથી જ્યાં આ નિર્દેશક પોઇન્ટ આવ્યો હતો. આ રેખા વિશે, છતાં. Avi? પ્રેક્ષક: પાછલું-> આગામી કર સમકક્ષ હોય છે. જેસન HIRSCHHORN: તેથી ફરી, તો આગલા એક છે નોડ માટે નિર્દેશક, આગલા> આગામી છે નોડ માં વાસ્તવિક નિર્દેશક. તેથી આ અપડેટ કરવામાં આવશે એક કર માટે નોડ માં નિર્દેશક. અમે અપડેટ કરવા માંગો છો નથી નોડ એક નિર્દેશક. અમે અગાઉના અપડેટ કરવા માંગો છો. તેથી અમે તે કેવી રીતે કરવું? પ્રેક્ષક: તે માત્ર આગલા આવશે. જેસન HIRSCHHORN: અધિકાર. પાછલું નોડ માટે નિર્દેશક છે. હવે અમે એક તેને બદલી રહ્યા છીએ નોડ માટે નવા નિર્દેશક. ઠીક અમને નીચે ખસેડો. છેલ્લે, આ છેલ્લા સ્થિતિ. જેફ, આપણે અહીં શું કરે છે? પ્રેક્ષક: કિંમત છે કર-> n એ બરાબર. જેસન HIRSCHHORN: માફ કરશો. ઓહ દેવતા. શું? ભાવ == કર-> એન. અમે શું કરી શકું? પ્રેક્ષક: તમે અમારા new_node મુક્ત છો, અને પછી તમે ખોટા પાછા છો. જેસન HIRSCHHORN: આ શું છે અમે અત્યાર સુધી હોય. કોઈની કંઈ છે અમે બનાવવા પહેલાં ઉમેરવા? બરાબર. ચાલો તેને કરવાનો પ્રયાસ કરો. નિયંત્રણ અંત સુધી પહોંચી શકે છે એક કાર્ય બિન રદબાતલ છે. AVI, શું થઈ રહ્યું છે તે? પ્રેક્ષક: તમે પરત મૂકી માનવામાં આવે છે જ્યારે લૂપની બહાર સાચી? જેસન HIRSCHHORN: મને ખબર નથી. તમે મને કરવા માંગો છો? પ્રેક્ષક: વાંધો નહીં. ના, જેસન HIRSCHHORN: અક્ષર? પ્રેક્ષક: હું તમને રાખવાનો લાગે અંતે વળતર ખોટા મૂકી જ્યારે લૂપ. જેસન HIRSCHHORN: તેથી જ્યાં તમે તેને જવા માંગો છો? પ્રેક્ષક: જ્યારે લૂપ બહાર જેમ. તેથી તમે તે અર્થ જ્યારે લૂપ બહાર નીકળવા જો તમે ઓવરને પહોંચી અને કરેલો કંઈ થયું છે. જેસન HIRSCHHORN: બરાબર. તેથી અમે અહીં શું કરે છે? પ્રેક્ષક: તમે ખોટા પાછા ત્યાં એ જ પ્રમાણે. જેસન HIRSCHHORN: ઓહ, અમે બંને જગ્યાએ તે કરી? પ્રેક્ષક: યાહ. જેસન HIRSCHHORN: બરાબર. અમે જાઓ જોઈએ? ઓહ દેવતા. હું દિલગીર છું. હું સ્ક્રીન માટે દિલગીર છીએ. તે પ્રકારની અમને પર બહાર freaking છે. તેથી એક વિકલ્પ પસંદ કરો. ઝીરો, પાંચ કોડ દીઠ, કાર્યક્રમ સરખેસરખા. એક કંઈક દાખલ. ત્રણ દાખલ કરો. આ શામેલ સફળ ન થયું. હું છાપે જાઉં છું. હું કંઈ નથી. બરાબર. કદાચ કે માત્ર એ સાંપડેલી કોઈ ચીજવસ્તુ હતી. એક દાખલ કરો. સફળ નથી. બરાબર. માતાનો ખરેખર ઝડપથી GDB મારફતે ચલાવો શું ચાલે છે તપાસો. ના GDB યાદ રાખો. / નામ તમારા કાર્યક્રમ GDB માં અમને મળે છે. ઘણો નિયંત્રિત કરવા માટે કે છે? આ ફ્લેશિંગ? કદાચ. તમારી આંખો બંધ કરો અને ઊંડા લો તમે થાકેલા વિચાર જો શ્વાસ તે જોઈ. હું GDB માં છું. GDB માં હું પ્રથમ વસ્તુ શું છે? અમે બહાર આકૃતિ મળી છે શું રહ્યું છે તે અહીં. ચાલો જોવા. અમે આંકડો છ મિનિટ હોય શું થઈ રહ્યું છે બહાર. મુખ્ય તૂટી જાય છે. અને પછી હું શું કરી શકું? કાર્લોસ? ચલાવો. બરાબર. માતાનો એક વિકલ્પ પસંદ કરો. અને એન શું થાય છે? આગળ. અરે વાહ. પ્રેક્ષક: તમે ઉલ્લેખ કર્યો ન હતો - તમે વડા, તે કહે છે કે ન હતી શરૂઆતમાં નલ આરંભ. પરંતુ હું તમને તે બરાબર હતી જણાવ્યું હતું કે, છે. જેસન HIRSCHHORN: ચાલો જાઓ - માતાનો જુઓ GDB માં, અને પછી અમે પાછા જવા પડશે. જો તમે પહેલાથી જ હોય ​​છે, જેમ પરંતુ લાગે શું થઈ રહ્યું છે તે વિશે કેટલાક વિચારો. તેથી અમે કંઈક સામેલ કરવા માંગો છો. બરાબર. અમે દાખલ કરો. પૂર્ણાંક દાખલ કરો. અમે ત્રણ સામેલ કરીશું. અને પછી હું આ વાક્ય પર છું. હું કેવી રીતે ડિબગીંગ શરૂ જવું છે સામેલ કરો કાર્ય ઓળખાય? ઓહ દેવતા. કે ઘણો છે. કે ઘણો freaking છે? પ્રેક્ષક: ઓહ, તે મૃત્યુ પામ્યા હતા. જેસન HIRSCHHORN: હું માત્ર તે બનાવ્યો. બરાબર. પ્રેક્ષક: કદાચ તે છે વાયર અન્ય અંત થાય છે. જેસન HIRSCHHORN: વાહ. તેથી આ બોટમ લાઇન - તમે શું કહ્યું? પ્રેક્ષક: હું જણાવ્યું હતું કે, ટેકનિકલ ના વક્રોક્તિ આ વર્ગ પણ તકલીફ. જેસન HIRSCHHORN: મને ખબર છે. માત્ર જો હું કે ભાગ પર નિયંત્રણ ધરાવતા હતા. [અશ્રાવ્ય] તે મહાન લાગે છે. શા માટે તમે ગાય્ઝ વિશે વિચારવાનો શરૂ નથી અમે શું ખોટું કર્યું હોઈ શકે છે, અને અમે પાછા 90 સેકન્ડમાં હશે. Avica, હું કેવી રીતે જવું માટે કહી જાઉં છું તે ડિબગ અંદર insert_node. અમે ગયા ન હતું તેથી આ છે. હું કેવી રીતે insert_node અંદર જવું છે, Avica, શું થઈ રહ્યું છે તેની તપાસ કરવા માટે? શું GDB આદેશ? બ્રેક અંદર મને લેવા નથી. Marquise ખબર છે? પ્રેક્ષક: શું છે? જેસન HIRSCHHORN: શું GDB આદેશ હું આ કાર્ય અંદર જવા ઉપયોગ? પ્રેક્ષક: પગલું? જેસન HIRSCHHORN: મારફતે પગલું અંદર મને લઈ જાય છે કે એસ. બરાબર. New_node અમુક જગ્યા mallocing. તેના તમામ જવા જેવી લાગે છે. માતાનો new_node જોઈએ. તે અમુક મેમરી આંકડાના મળી. માતાનો ચેક કરીએ - તે બધા યોગ્ય છે. અહીં બધું લાગે છે યોગ્ય રીતે કામ. પ્રેક્ષક: શું તફાવત છે પી અને પ્રદર્શન વચ્ચે? જેસન HIRSCHHORN: પી પ્રિન્ટ માટે વપરાય છે. અને તે રીતે તમે શું કહીએ છીએ કે અને આ વચ્ચે તફાવત? આ કિસ્સામાં, કંઈ નથી. પરંતુ સામાન્ય રીતે હોય છે અમુક તફાવતો. અને જો તમે GDB માર્ગદર્શિકામાં જોવું જોઈએ. પરંતુ આ કિસ્સામાં, કંઈ નથી. અમે, જોકે, પ્રિન્ટ ઉપયોગ કરે છે, કારણ કે અમે બીજું ઘણું બધું કરવાની જરૂર નથી એક જ કિંમત છાપો. બરાબર. તેથી અમે અમારી ની લાઇન 80 પર હોય છે યાદી સમાન નોડ * કર સુયોજિત કરીને. અમને કર છાપે છે. તે યાદી સમકક્ષ હોય છે. મીઠી. રાહ જુઓ. તે કંઈક સમકક્ષ હોય છે. તે સાચું લાગતું નથી. ત્યાં અમે જાઓ. તે GDB માં, અધિકાર, કારણ કે જો તે તમે તેના પર છો આ વાક્ય હજુ સુધી ચલાવવામાં નથી. તેથી તમે ખરેખર લખો જરૂર રેખા ચલાવવા માટે આગામી તેના પરિણામો જોયા પહેલાં. અહીં અમે છે. અમે હમણાં જ આ રેખા ચલાવવામાં, અગાઉના નલ સમકક્ષ હોય છે. તેથી ફરી, અમે અગાઉના છાપો જો અમે વિચિત્ર કંઈપણ દેખાશે નહીં. પરંતુ અમે ખરેખર છે કે ચલાવો તો રેખા, તો પછી અમે જોશો તે લીટી કામ કર્યું હતું. તેથી અમે કર છે. તે બંને સારા છે. અધિકાર? હવે અમે અહીં આ વાક્ય પર છો. કર સમાન NULL કરે છે. વેલ, કર સમાન શું કરે છે? અમે હમણાં જ તે નલ બરાબરી કરી હતી. અમે તેને મુદ્રિત. હું તેને ફરીથી છાપે પડશે. તેથી કે જ્યારે લૂપ ચલાવો રહ્યું? પ્રેક્ષક: ના, જેસન HIRSCHHORN: તેથી હું લખ્યો કે જ્યારે લાઇન, તમે અમે બધી રીતે ગયો જુઓ નીચે, ખોટી આવો. અને પછી અમે ખોટા પાછા જઈ રહ્યાં છો અને અમારો કાર્યક્રમ પર પાછા જાઓ અને અમે જોયું જેવા આખરે, છાપે, સામેલ કરો સફળ ન થયું. તેથી, કોઇ શું કોઇ વિચારો હોય છે અમે આ ઠીક કરવા માટે જરૂર છે? હું જોઈ ત્યાં સુધી રાહ જુઓ જાઉં છું હાથ એક દંપતિ જાઓ. અમે આ અમલ ન હતી. ધ્યાનમાં રાખો, કે આ પ્રથમ હતો અમે કરી રહ્યા હતા વસ્તુ. હું થોડા કરવા જાઉં છું. હું થોડા કરવા જાઉં છું. બે બે અર્થ થાય છે કારણ કે. હું બે કરતાં વધુ માટે રાહ જોવી પડશે. પ્રથમ નિવેશ, કર, મૂળભૂત નલ સમકક્ષ હોય છે. અને આ લૂપ જ ચલાવે છે કર નલ નથી છે. કેવી રીતે હું આ આસપાસ મળી શકે? હું ત્રણ હાથ જુઓ. હું ત્રણ કરતાં વધારે રાહ જોવી પડશે. માર્કસ, તમે શું વિચારો છો? પ્રેક્ષક: વેલ, જો તમે તેને જરૂર છે , એક કરતા વધુ વખત ચલાવો તમે માત્ર એક કરતા હો ત્યારે લૂપ માટે બદલો. જેસન HIRSCHHORN: બરાબર. કે જોકે, અમારી સમસ્યા હલ થશે? પ્રેક્ષક: આ કિસ્સામાં કોઈ કારણે યાદી ખાલી છે એ હકીકત છે કે. તેથી પછી તમે કદાચ માત્ર ઉમેરવાની જરૂર છે એક નિવેદનમાં કે જો લૂપ બહાર નીકળે છે પછી તમે ઓવરને અંતે હોય છે તમે જે બિંદુએ યાદી, માત્ર તેને દાખલ કરી શકો છો. જેસન HIRSCHHORN: હું જ ગમે છે. તે અર્થમાં બનાવે છે. લૂપ બહાર નીકળે છે - તે અહીં ખોટા પાછા મળશે. તેથી લૂપ બહાર નીકળે છે, તો પછી અમે પર છો કદાચ યાદી ઓવરને અંતે, અથવા કશું માં જો ત્યાં યાદી શરૂ તે જે ઓવરને તરીકે જ છે. તેથી હવે અમે સામેલ કરવા માંગો છો અહીં કંઈક. આમ કેવી રીતે કે કોડ છે, માર્કસ લાગતું નથી? પ્રેક્ષક: તમે પહેલાથી જ નોડ મળી હોય તો malloced, તમે માત્ર કહી શક્યા new_node-> આગામી નલ કારણ કે જેટલી જ થાય છે તે અંતે પ્રયત્ન છે. અથવા new_node-> આગામી નલ સમકક્ષ હોય છે. જેસન HIRSCHHORN: બરાબર. માફ કરશો. New_node-> આગામી નલ સમકક્ષ હોય છે અમે ઓવરને અંતે છો કારણ કે. આ તે સાઇન મૂકી નથી કેવી રીતે અમે તેને યાદીમાં મૂકી શકું? અધિકાર. કે જે હમણાં જ બરાબર તે સુયોજિત છે. કોઈ કેવી રીતે અમે ખરેખર શું યાદીમાં મૂકવા? પાંચ પોઇન્ટ છે શું યાદી ઓવરને અંતે? પ્રેક્ષક: વડા. જેસન HIRSCHHORN: માફ કરશો? પ્રેક્ષક: મુખ્ય પોઇન્ટ છે યાદી સમાપ્ત થાય છે. જેસન HIRSCHHORN: કંઈ છે, તો યાદી, હેડ પાંચ પોઇન્ટ છે યાદી અંત થાય છે. જેથી માટે કામ કરીશું પ્રથમ નિવેશ. એક દંપતી છે શું વિશે જો યાદીમાં વસ્તુઓ? અમે સેટ કરવા માંગો છો નથી કરતા new_node સમાન વડા. આપણે ત્યાં શું કરવા માંગો છો? અરે વાહ? કદાચ અગાઉના. તે કામ કરશે? અગાઉના માત્ર કે યાદ નોડ માટે નિર્દેશક. અને ગત એક સ્થાનિક ચલ છે. તેથી આ વાક્ય એક સ્થાનિક ચલ સેટ કરશે, , અગાઉના સમાન અથવા આ નવી ગાંઠ તરફ ઇશારો. જે ખરેખર તે મૂકી નથી શકતા અમારા યાદીમાં, છે. કેવી રીતે અમે તેને અમારા યાદીમાં મૂકી શકું? Akchar? પ્રેક્ષક: હું તમને લાગે આગામી વર્તમાન-> કરે છે. જેસન HIRSCHHORN: બરાબર. કર-> આગામી. તેથી ફરી, અમે નીચે છો માત્ર કારણ અહીં છે, શું સમાન વર્તમાન છે? પ્રેક્ષક: નલ સમકક્ષ હોય છે. જેસન HIRSCHHORN: અને તેથી શું અમે આગામી નલ-> કરો તો શું થાય છે? અમે શું બનશે છે? અમે સેગ્મેન્ટેશન ક્ષતિમાં મળશે. પ્રેક્ષક: શું કર નલ સમકક્ષ હોય છે. જેસન HIRSCHHORN: તે જ વાત છે આગલા તરીકે, જો કે, કારણ કે ત્યાં અમે સુયોજિત કરી રહ્યાં છો એક સ્થાનિક ચલ આ નવા નોડ માટે સમાન. આપણે આપણા ચિત્ર પર પાછા જાઓ કંઈક દાખલ. અમે ઓવરને અંતે દાખલ છો યાદીમાં, અહીં છે. અમે છે કે વર્તમાન નિર્દેશક હોય છે નલ પોઇન્ટ અને પહેલાંના બિંદુ કે 8 પોઇન્ટ છે. તેથી શું અમે AVI, અપડેટ કરવાની જરૂર છે? પ્રેક્ષક: ગત-> આગામી? જેસન HIRSCHHORN: ગત-> આગામી શું છે અમે અપડેટ કરવા માંગો છો કે કારણ કે ખરેખર તે દાખલ કરશે આ યાદી ઓવરને. અમે હજી પણ, જોકે, માત્ર એક ભૂલ છે અમે પણ જઈ રહ્યાં છો. કે ભૂલ શું છે? અરે વાહ? પ્રેક્ષક: તે પરત ચાલી રહ્યું છે આ કિસ્સામાં ખોટી? જેસન HIRSCHHORN: ઓહ, છે ખોટા પાછા જઈ રહી છે. પરંતુ અન્ય ભૂલ છે. તેથી અમે સાચું પાછા મૂકવા પડશે. પ્રેક્ષક: નથી અગાઉના હજુ પણ સમાન યાદીમાં ટોચ પર નલ? જેસન HIRSCHHORN: તેથી અગાઉના હજુ ખૂબ શરૂઆતમાં નલ સમકક્ષ હોય છે. તેથી અમે કેવી રીતે કે ઉપર વિચાર કરી શકો છો? અરે વાહ? પ્રેક્ષક: હું તમે ચેક કરી શકો છો તે છે જો જ્યારે લૂપ જોવા માટે પહેલાં ખાલી યાદી. જેસન HIRSCHHORN: બરાબર. તેથી આપણે અહીં જાઓ. ચેક કરો. તો - પ્રેક્ષક: તેથી જો વડા બરાબર નલ સમકક્ષ હોય છે. જેસન HIRSCHHORN: જો વડા બરાબર નલ સમકક્ષ હોય છે - તે ખાલી યાદી છે કે જો અમને કહી શકશો. પછી અને તમે: પ્રેક્ષક કરવા માટે વડા નવા સમકક્ષ હોય છે. જેસન HIRSCHHORN: હેડ new_node જેટલી જ થાય છે? અને બીજું શું આપણે શું જરૂર છે? પ્રેક્ષક: અને પછી તમે સાચું આવો. જેસન HIRSCHHORN: જવાબ નથી તદ્દન. અમે એક પગલું ગુમાવી રહ્યાં છો. પ્રેક્ષક: new_node આગામી નલ નિર્દેશ છે. જેસન HIRSCHHORN: બરાબર છે, એલન. અને પછી અમે સાચું પાછા આવી શકો છો. બરાબર. પરંતુ તે હજુ પણ વસ્તુઓ કરવા માટે એક સારો વિચાર છે યાદી ઓવરને અંતે, અધિકાર? અધિકાર છે. અમે હજુ પણ ખરેખર વિચાર કરી શકે છે યાદી સમાપ્ત થાય છે. અમે પર છો, તેથી આ કોડ દંડ છે યાદીમાં અંત અને કેટલાક હોય છે યાદીમાં વસ્તુઓ? અધિકાર? અમે હજુ પણ માર્કસ માતાનો વિચાર છે કારણ કે. અમે આ લૂપ બહાર નીકળવા શકે છે અમે યાદી ઓવરને પર છો. તેથી અમે હજુ પણ આ માંગો છો નીચે અહીં કોડ માટે? પ્રેક્ષક: હા. જેસન HIRSCHHORN: અરે વાહ. અને શું અમે આ ફેરફાર કરવાની જરૂર છે? સાચું. કે કરે છે અવાજ સારી દરેકને અત્યાર સુધી? ત્યાં જવા માટે કોઇપણ કોઇ હોય - AVI, તમે ઉમેરવા જેવું છે ખરું? પ્રેક્ષક: ના, જેસન HIRSCHHORN: બરાબર. તેથી અમે ફેરફારો થોડા કર્યા છે. અમે પહેલાં આ ચકાસણી કર્યા છે ખાલી યાદી માટે ગયા હતા. તેથી અમે ખાલી યાદી કાળજી લેવામાં કર્યું છે. અને અહીં અમે દાખલ સંભાળ લીધી યાદી ઓવરને અંતે કંઈક. તેથી તે આ વખતે લૂપ લેવા જેવું લાગે છે વચ્ચે વસ્તુઓ કાળજી, ક્યાંક યાદીમાં જો ત્યાં વસ્તુઓ યાદીમાં હોય. બરાબર. અમને ફરીથી આ કાર્યક્રમ ચલાવો. સફળ નથી. પ્રેક્ષક: તમે તે કરી નથી. જેસન HIRSCHHORN: ઓહ, હું તે કરી નથી. સારી બિંદુ, માઈકલ. માતાનો કડી મેક ઉમેરો. લાઇન 87 વખતે ભૂલ આવી છે. લાઈન 87. એલન, આ તમે મને આપ્યો લીટી હતી. શું ખોટું છે? પ્રેક્ષક: તે નલ માટે પ્રયત્ન છે. જેસન HIRSCHHORN: ઉત્તમ. યોગ્ય બરાબર. તે નલ પ્રયત્ન કરીશું. માતાનો ફરીથી બનાવે છે. સંકલન કરીએ. બરાબર. ત્રણ દાખલ કરો. આ શામેલ સફળ રહે છે. આપણે તેના છાપે છે. ઓહ, માત્ર અમે તપાસ કરી શકે છે. પરંતુ અમે ન કર્યું હોય એ હજુ સુધી કાર્ય છાપો. માતાનો કંઈક બીજું દાખલ કરો. અમે શું દાખલ કરવું જોઈએ? પ્રેક્ષક: સાત. જેસન HIRSCHHORN: સાત? પ્રેક્ષક: હા. જેસન HIRSCHHORN: અમે એક seg દોષ છે. તેથી અમે એક મળી છે, પરંતુ અમે સ્પષ્ટ રીતે બે મેળવી શકો છો. તે 5:07 છે. તેથી અમે આ ડિબગ શકે ત્રણ મિનિટ માટે. પરંતુ હું અહીં અમારો છોડી જાઉં છું અને કોષ્ટકો હેશ પર ખસેડો. પરંતુ ફરીથી, આ કોડ માટે જવાબો હું થોડી તમારા માટે તે ઇમેઇલ કરશે. અમે તે ખૂબ જ નજીક છે. હું ખૂબ આકૃતિ માટે પ્રોત્સાહિત કરીએ છીએ શું અહીં રહ્યું અને તેને ઠીક છે. તેથી હું તમને આ કોડ ઇમેઇલ કરીશું વત્તા ઉકેલ સાથે સાથે - પાછળથી કદાચ ઉકેલ. પ્રથમ આ કોડ. અમે પહેલા કરવા માંગો છો અન્ય બાબત પૂરી આપણે કંઈ નથી મુક્ત છે છે. તેથી હું તમને બતાવવા માંગો છો શું Valgrind જેવો દેખાય છે. અમે Valgrind સીમાઓ ચલાવો તો અમારા કાર્યક્રમ પર,. / કડી. ફરીથી, આ સ્લાઇડ અનુસાર, અમે અમુક પ્રકારની સાથે Valgrind રન જોઈએ આ કિસ્સામાં વિકલ્પ, - લીક તપાસો = સંપૂર્ણ. તેથી આપણે Valgrind લખીએ - લીક તપાસો = સંપૂર્ણ. તેથી આ Valgrind ચાલશે અમારા કાર્યક્રમ પર. અને હવે આ કાર્યક્રમ ખરેખર બનાવ્યા. તેથી અમે જેમ ચલાવવા રહ્યા છીએ પહેલાં, સાઇન કંઈક મૂકી હું ત્રણ મૂકવા જાઉં છું. તે કામ કરે છે. હું કંઈક મૂકવા પ્રયાસ જાઉં છું અમે જઈ રહ્યાં છો બીજું કારણ તે કિસ્સામાં એક seg ખોટા વિષે. તેથી હું ફક્ત બહાર નીકળવા માટે જાઉં છું. અને હવે તમે નીચે અહીં જુઓ લીક અને ઢગલો સાર. આ સારી વસ્તુઓ છે કે માટે તમે ચકાસવા માંગો છો. તેથી આ ઢગલો સાર - તે કહે છે, વપરાશમાં બહાર નીકળો અંતે - એક બ્લોક આઠ બાઇટ્સ. તે એક બ્લોક છે નોડ અમે malloced. માઈકલ, તમે નોડ આઠ છે તે પહેલાં જણાવ્યું હતું કે, તે પૂર્ણાંક છે કારણ કે કરડવાથી અને નિર્દેશક. જેથી અમારી નોડ છે. અને પછી તેને અમે malloc ઉપયોગ કહે છે સાત વાર અને અમે મુક્ત કંઈક છ વખત. પરંતુ અમે મુક્ત કહેવાય ક્યારેય, તેથી હું કોઈ આ વિશે વાત છે તે વિચાર. પરંતુ તે પૂરતો કહે છે કે જ્યારે તમારા કાર્યક્રમ રન malloc કહેવાય રહ્યું છે અમુક અન્ય સ્થળોએ કે અમે ચિંતા કરવાની જરૂર નથી. તેથી malloc કદાચ તરીકે ઓળખાતું હતું કેટલીક જગ્યાએ. અમે જ્યાં ચિંતા કરવાની જરૂર નથી. પરંતુ આ ખરેખર અમને છે. આ પ્રથમ વાક્ય અમને છે. અમે તે બ્લોક છોડી દીધી. અને તમે તે અહીં જોઈ શકો છો લીક સારમાં. તેમ છતાં પહોંચી શકાય તેવું - એક બ્લોક આઠ બાઇટ્સ. કે કે મેમરી અર્થ થાય છે - અમે તે મેમરી લીક કર્યો છે. ડેફિનેટલી ગુમાવી - કંઈક સારા માટે ગુમાવી છે. સામાન્ય રીતે, તમે નથી ત્યાં કંઈપણ જુઓ. તેમ છતાં સામાન્ય રીતે પહોંચી શકાય તેવું છે જ્યાં તમે કરવા માંગો છો પડશે જ્યાં તમે વસ્તુઓ જોશો શું કોડ તમારે જોવા માટે જુઓ મુક્ત પરંતુ જો તમારી પાસે મુક્ત ભૂલી ગયા છો છે. અને પછી આ કેસ નથી તો અમે મુક્ત બધું ન હોય તો, અમે તે ચકાસી શકો છો. આપણે માત્ર આ કાર્યક્રમ ચલાવો કંઈપણ માં મૂકી નથી. તમે બહાર નીકળો અંતે વપરાશમાં નીચે અહીં જોશો - શૂન્ય બ્લોકમાં શૂન્ય બાઇટ્સ. કે અમે કંઈ જ બાકી હતી અર્થ થાય છે આ કાર્યક્રમ બહાર છે. તેથી pset6 માં ચાલુ કરતા પહેલા, Valgrind રન અને ખાતરી કરો કે તમારી પાસે નથી કરો કોઈપણ મેમરી તમારા કાર્યક્રમ લીક્સ. તમે Valgrind સાથે કોઇ પ્રશ્નો હોય તો, પહોંચી શકો છો. પરંતુ આ તમે તેનો ઉપયોગ કેવી રીતે છે. ખૂબ સરળ છે - તમે તે જોવા બહાર નીકળો અંતે વપરાશમાં છે - કોઈ પણ બ્લોકમાં કોઇ બાઇટ્સ. તેથી અમે સામેલ કરો નોડ પર કામ કરતા હતા. હું અહીં બે અન્ય કાર્યો હતી - ગાંઠો અને મફત ગાંઠો છાપો. ફરીથી, આ છે વિધેયો છે તમે અભ્યાસ માટે સારી જ હશે તેઓ તમને માત્ર મદદ કરશે કારણ કે આ નમૂનો કસરત પણ સમસ્યા પર સુયોજિત કરો. તેઓ વસ્તુઓ માટે ખૂબ નજીકથી પર નકશો તમે શું હોય રહ્યા છીએ સમસ્યા સુયોજિત કરો. પરંતુ હું તેની ખાતરી કરવા માંગો છો અમે બધું પર સ્પર્શ. અને હેશ કોષ્ટકો પણ એ ખૂબ જરૂરી છે અમે વિભાગમાં આ શું કરી રહ્યાં છો સપ્તાહ - અથવા સમસ્યા સમૂહ. તેથી અમે વિભાગ સમાપ્ત રહ્યા છીએ હેશ કોષ્ટકો વિશે વાત. જો તમે નોટિસ હું બનાવવામાં થોડી હેશ ટેબલ. કે અમે વાત કરતા હોઈએ તે નથી જો કે, વિશે. અમે એક અલગ વિશે વાત કરવામાં આવે છે હેશ કોષ્ટકો પ્રકાર. અને તેના કોર, હેશ ટેબલ પર એક કરતાં વધુ કંઈ નથી એરે વત્તા હેશ વિધેય. અમે હમણાં જ થોડી માટે વાત રહ્યા છીએ ખાતરી કરો કે દરેકને શું સમજે કરો હેશ વિધેય છે. અને હું તે છે કે હવે તમને જણાવું છું બે વસ્તુઓ કરતાં વધુ કંઇ - ઝાકઝમાળ અને હેશ વિધેય. અને અહીં પગલાંઓ છે જે આ પ્રક્રિયા કરે છે. અમારા એરે છે. અમારા કાર્ય છે. ખાસ કરીને, જટિલ કાર્ય કરવાની જરૂર છે આ સાથે વસ્તુઓ એક દંપતી છે. હું ખાસ વાત જાઉં છું વિશે આ સમસ્યા સુયોજિત કરો. તે કદાચ ચાલી રહ્યું છે એક શબ્દમાળા માં લે છે. અને શું તે પરત ચાલી રહ્યું છે? શું માહિતી પ્રકાર? એલન? તમારા હેશ વિધેય પાછા? એક પૂર્ણાંક. તેથી આ શું હેશ છે ટેબલ સમાવે - એરે સ્વરૂપમાં કોષ્ટક અને હેશ વિધેય. તે કેવી રીતે કામ કરે છે? તે ત્રણ પગલાંઓ માં કામ કરે છે. અમે તે કી આપે છે. આ કિસ્સામાં, અમે તેને શબ્દમાળા આપી શકશો. અમે એક પગલું છે દીઠ હેશ વિધેય કૉલ કી પર અને અમે નીચેની વિષે. ખાસ કરીને, અમે કહેવું પડશે અમે એક પૂર્ણાંક છે. કે પૂર્ણાંક, ખૂબ ચોક્કસ છે કે પૂર્ણાંક શું બની શકે છે માટે મર્યાદિત કરે છે. આ ઉદાહરણમાં, અમારા એરે કદ ત્રણ છે. તેથી કે પૂર્ણાંક શું નંબરો હોઈ શકે છે. માટે માન્ય કિંમતો ની શ્રેણી શું છે કે પૂર્ણાંક, આ પરત પ્રકાર કાર્ય હેશ? શૂન્ય, એક અને બે. હેશ વિધેય સુધી છે એરે માં સ્થાન આકૃતિ અમારા કી રહ્યું છે છે. માત્ર ત્રણ શક્ય છે અહીં સ્થાનો - શૂન્ય, એક, બે અથવા. તેથી આ કાર્ય વધુ સારી રીતે વળતર શૂન્ય, એક, બે અથવા. આ એરે કેટલાક માન્ય indice. અને પછી, તે આપે છે તેના પર આધાર રાખીને તમે ઓપન ત્યાં એરે જોઈ શકો છો કિંમત કૌંસ. અમે કી મૂકી છે કે. તેથી અમે કોળું ફેંકવું, અમે શૂન્ય નીકળી જાય છે. એરે કૌંસ 0 માં આપણે કોળું મૂકો. અમે એક બહાર, બિલાડી ફેંકવું. અમે એક પર બિલાડી મૂકો. અમે સ્પાઈડર મૂકવા. અમે બે નીકળી જાય છે. અમે એરે કૌંસ બે પર સ્પાઈડર મૂકો. તે ખૂબ સરસ છે જો તે જેમ કામ કર્યું હતું. પરંતુ દુર્ભાગ્યે, અમે, જોશો તે થોડી વધુ જટિલ છે. અમે ત્યાં કોઈ પ્રશ્ન વિચાર પહેલાં વિશે આ મૂળભૂત હેશ ટેબલ સેટ અપ? આ બરાબર એક છબી છે અમે બોર્ડ પર આધારિત હતી છે. પરંતુ કારણ કે અમે હું બોર્ડ પર દોર્યું આગળ જાય રહ્યું નથી. આવશ્યકપણે કી, જાદુ કાળા બોક્સ - અથવા આ કિસ્સામાં, ટીલ બોક્સ - એ હેશ વિધેય ડોલથી તેમને મૂકે છે. અને આ ઉદાહરણમાં આપણે છો નામ મૂકવા. અમે સંકળાયેલ ફોન આપી રહ્યા છીએ ડોલમાં નામ સંખ્યા. પરંતુ તમે ખૂબ જ સારી રીતે કરી શકે છે માત્ર ડોલમાં નામ મૂકો. આ શું માત્ર એક ચિત્ર છે અમે બોર્ડ પર આધારિત હતી. અમે જોકે, સંભવિત મુશ્કેલીઓ છે. અને બે ખાસ કરીને છે હું પર જાઓ કરવા માંગો છો સ્લાઇડ્સ. પ્રથમ એક છે હેશ વિધેય. તેથી હું પ્રશ્ન પૂછવામાં શું આ બોલ પર કોઈ હેશ વિધેય છે? હું બે જવાબો આપે છે. પ્રથમ તે નિર્ધારિત છે કે છે. જટિલ કાર્ય ના સંદર્ભમાં, આ શું અર્થ છે? હા? પ્રેક્ષક: તે શોધી શકો છો સતત સમય ઇન્ડેક્સ? જેસન HIRSCHHORN: તે એનો શું અર્થ થાય નથી. પરંતુ તે એક સારી અનુમાન છે. અન્ય કોઇ એક અનુમાન છે આ શું છે તે છે? તે સારો હેશ વિધેય નિર્ધારિત છે? એની? પ્રેક્ષક: કી માત્ર માપ થયેલ કરી શકાય તેવું હેશ કોષ્ટકમાં એક જ જગ્યાએ છે. જેસન HIRSCHHORN: કે એકદમ સચોટ. તમે કોળું મૂકવામાં દર વખતે, તે હંમેશા શૂન્ય આપે છે. તમે કોળું અને તમારા હેશ માં મૂકી કાર્ય શૂન્ય આપે છે પરંતુ તેને કંઈક પરત સંભાવના શૂન્ય કરતાં અન્ય મોટી - તેથી કદાચ તે ક્યારેક એક પાછા આવી શકો છો અથવા બે અન્ય વખત - તે એક સારી હેશ વિધેય નથી. તમે બરાબર યોગ્ય છો. તમારા હેશ વિધેય પાછા જોઈએ માટે આ કિસ્સામાં જ ચોક્કસ પૂર્ણાંક, એ જ ચોક્કસ શબ્દમાળા. કદાચ તે જ ચોક્કસ પૂર્ણાંક આપે છે એ જ ચોક્કસ શબ્દમાળા માટે અનુલક્ષીને કેપિટલાઈઝેશનના. પરંતુ તે કિસ્સામાં તે હજુ પણ છે નિર્ધારિત કારણ કે ઘણી વસ્તુઓ એ જ કિંમત પર માપ થયેલ છે. કે દંડ છે. સુધી એક જ છે કારણ કે ત્યાં આપેલ ઈનપુટ માટે આઉટપુટ. બરાબર. બીજી બાબત એ છે કે તે માન્ય સૂચકાંક આપે છે. અમે તે પહેલાં આવ્યા હતા. આ હેશ વિધેય - છોકરો ઓહ - હેશ વિધેય જોઈએ માન્ય સૂચકાંક આવો. તેથી કહે છે - માતાનો આ ઉદાહરણ પર પાછા જાઓ. મારા હેશ વિધેય ગણે શબ્દ અક્ષરો. તે હેશ વિધેય છે. અને તે પૂર્ણાંક આપે છે. હું જ્યારે શબ્દ એ છે તેથી જો, તે છે એક પરત ચાલી. અને તે અહીં એક મૂકવામાં બનશે. શું હું શબ્દ બેટિંગ માં મૂકવામાં તો શું? તે ત્રણ પરત ચાલી રહ્યું છે. જ્યાં બેટિંગ લે છે? તે ફિટ નથી. પરંતુ તે ક્યાંક જવા માટે જરૂર છે. આ બધા પછી મારા હેશ ટેબલ છે, અને બધું ક્યાંક જવા માટે જરૂર છે. તેથી જ્યાં બેટ જવા જોઈએ? કોઈપણ વિચારો? ધારી? સારા ધારી? પ્રેક્ષક: ઝીરો. જેસન HIRSCHHORN: શા માટે શૂન્ય? પ્રેક્ષક: કારણ કે ત્રણ મોડ્યૂલો ત્રણ શૂન્ય છે? જેસન HIRSCHHORN: ત્રણ મોડ્યૂલો ત્રણ શૂન્ય છે. કે જે મહાન અનુમાન છે, અને તે સાચું છે. તેથી આ કિસ્સામાં તે જોઈએ કદાચ શૂન્ય પર જાઓ. તેથી સારી રીતે તેની ખાતરી કરવા માટે કે જે આ હેશ કાર્ય જ માન્ય છે સૂચકાંક આપે ટેબલ કદ કરીને મોડ્યૂલો છે. તમારા દ્વારા ગમે આ વળતર મોડ્યૂલો તો ત્રણ, તમે હંમેશા વિચાર જઈ રહ્યાં છો શૂન્ય, એક, અને બે વચ્ચે કંઈક. અને આ હંમેશા સાત આપે છે, અને જો તમે હંમેશા ત્રણ દ્વારા મોડ્યૂલો, તમે છો હંમેશા આ જ વાત બનશે. તેથી તે હજુ પણ નિર્ધારિત છે તમે મોડ્યૂલો છે. પરંતુ ખાતરી કરશે કે તમે તે કંઈક ક્યારેય વિચાર - અમાન્ય ઉદ્યોગ. સામાન્ય રીતે, કે મોડ્યૂલો થાય કરીશું તમારા હેશ વિધેય અંદર. તેથી જો તમે આ અંગે ચિંતા કરવાની જરૂર નથી. તમારે માત્ર તેની ખાતરી કરી શકો છો આ કોઈ માન્ય indice છે. આ કોઈપણ પ્રશ્ન છે pitfall સંભવિત? બરાબર. અને ત્યાં અમે જાઓ. આગળ pitfall સંભવિત, અને આ મોટી છે. તો શું બે કી નકશો એ જ કિંમત છે? તેથી આ નિયંત્રિત કરવા માટે બે માર્ગો છે. પ્રથમ એક રેખીય કહેવામાં આવે છે હું છું, કે જે ચકાસણી ઉપર જવા માટે નથી જતા. પરંતુ તમારી સાથે પરિચિત હોવા જોઇએ તે કે કામ કરે છે અને તે છે. હું પર જાઓ જાઉં છું બીજા એક કે કે ઘણા છે, કારણ કે લોકો કદાચ નક્કી સમાપ્ત થશે તેમની સમસ્યા સેટમાં વાપરવા માટે. અલબત્ત, તમે જરૂર નથી. પરંતુ સમસ્યા સેટ ઘણા લોકો માટે, હેશ કોષ્ટક બનાવવા માટે પસંદ કરે છે અમલ કરવા માટે અલગ અલગ chaining સાથે તેમના સ્વાગત છે. તેથી અમે તે શું છે તે પર જાઓ રહ્યા છીએ સાથે હેશ ટેબલ બનાવવા માટે અલગ અલગ chaining. તેથી હું કોળું મૂકો. તે શૂન્ય આપે છે. અને હું અહીં કોળું મૂકો. પછી હું મૂકવા - અન્ય હેલોવીન વિષયવસ્તુ આધારિત વસ્તુ શું છે? પ્રેક્ષક: કેન્ડી. જેસન HIRSCHHORN: કેન્ડી! કે જે મહાન એક છે. હું કેન્ડી, અને કેન્ડી મૂકી પણ મને શૂન્ય આપે છે. હું શું કરી શકું? કોઈપણ વિચારો? તમે બધા પ્રકારના ઓળખે છે અલગ શું chaining છે. જેથી કોઇ પણ વિચારો કે શું કરવું? અરે વાહ. પ્રેક્ષક: શબ્દમાળા પુટિંગ ખરેખર હેશ કોષ્ટકમાં. જેસન HIRSCHHORN: તેથી અમે રહ્યા છીએ અહીં પર સારો વિચાર દોરે છે. બરાબર. પ્રેક્ષક: આ hashtable છે [અશ્રાવ્ય] નિર્દેશ કે નિર્દેશક યાદી શરૂઆત. અને પછી કોળું પ્રથમ કિંમત છે તે સાથે લિંક યાદી અને કેન્ડી કરી તે સાથે લિંક યાદીમાં બીજા મૂલ્ય. જેસન HIRSCHHORN: બરાબર. માર્કસ, કે બાકી હતી. હું કે તૂટી જાઉં છું. માર્કસ શું કહી રહ્યાં છે નથી કોળું પર ફરીથી લખી. કે ખરાબ છે. બીજે ક્યાંય કેન્ડી મૂકો. અમે શૂન્ય પર બંને મૂકી રહ્યા છીએ. પરંતુ અમે સાથે કામ કરવા માટે જઈ રહ્યાં છો દ્વારા શૂન્ય પર તેમને મૂકવા શૂન્ય પર યાદી બનાવે છે. અને અમે યાદી બનાવી રહ્યા છીએ શૂન્ય માપ થયેલ છે કે બધું જ. અને અમે બનાવવા માટે શીખી શ્રેષ્ઠ માર્ગ વૃદ્ધિ અને સંકોચો શકે છે યાદી ગતિશીલ અંદર નથી અન્ય દર્શાવે છે. તેથી ન બહુ આયામી દર્શાવે છે. પરંતુ માત્ર એક કડી થયેલ યાદી બનાવો. તેથી શું તે દરખાસ્ત - હું એક નવા વિચાર જાઉં છું - , પોઇન્ટર સાથે એક એરે બનાવી છે પોઇન્ટર પણ દર્શાવે છે. બરાબર. કોઇ વિચાર કે સંકેત શું પ્રકાર આ પોઇંટરો છે? માર્કસ? પ્રેક્ષક: પોઇંટરો - જેસન HIRSCHHORN: તમે કારણ એક કડી થયેલ યાદી તેથી, જણાવ્યું હતું કે - પ્રેક્ષક: નોડ પોઇન્ટર? જેસન HIRSCHHORN: નોડ પોઇન્ટર. જો અમારા સંલગ્ન માં વસ્તુઓ યાદી ગાંઠો પછી તેઓ છે નોડ પોઇન્ટર પ્રયત્ન કરીશું. અને તેઓ શરૂઆતમાં શું જેટલી છે? પ્રેક્ષક: નલ. જેસન HIRSCHHORN: નલ. તેથી અમારા ખાલી વસ્તુ છે. કોળુ વળતર શૂન્ય. અમે શું કરી શકું? તે દ્વારા મને ચાલવું? ખરેખર, માર્કસ પહેલેથી જ મને આપી હતી. કોઈ બીજા તેને દ્વારા મને જવામાં. અમે શું શું જ્યારે અમે - આ ખૂબ જ જેવું જ દેખાય છે અમે ફક્ત શું કરી રહ્યા હતા. Avi. પ્રેક્ષક: હું એક અનુમાન લેવા જાઉં છું. તેથી તમે કેન્ડી મેળવી છે. જેસન HIRSCHHORN: અરે વાહ. વેલ, અમે કોળું થઈ જાય છે. આપણે આપણા પ્રથમ એક મેળવો. અમે કોળું થઈ જાય છે. પ્રેક્ષક: બરાબર. કોળુ વળતર શૂન્ય. તેથી તમે તે માં મૂકો. અથવા ખરેખર, તમે મૂકી આ કડી થયેલ યાદી છે. જેસન HIRSCHHORN: આપણે કઈ રીતે કરી આ કડી થયેલ યાદીમાં મૂકવામાં? પ્રેક્ષક: ઓહ, વાસ્તવિક વાક્યરચના? જેસન HIRSCHHORN: જસ્ટ ચાલવા - વધુ છે. અમે શું કરી શકું? પ્રેક્ષક: તમે દાખલ તે પ્રથમ નોડ તરીકે. જેસન HIRSCHHORN: બરાબર. જેથી અમે અમારા નોડ, કોળું છે. અને હવે હું કેવી રીતે તે દાખલ કરી શકું? પ્રેક્ષક: તમે સોંપી નિર્દેશક માટે. જેસન HIRSCHHORN: કયા નિર્દેશક? પ્રેક્ષક: શૂન્ય પર આ નિર્દેશક. જેસન HIRSCHHORN: તેથી જ્યાં આ બિંદુ છે? પ્રેક્ષક: હમણાં નલ. જેસન HIRSCHHORN: સારું, તેને નલ પોઇન્ટ છે. પરંતુ હું કોળું માં મૂકી રહ્યો છું. તેથી જ્યાં તે નિર્દેશ જોઈએ? પ્રેક્ષક: કોળું કરો. જેસન HIRSCHHORN: કોળું કરો. ચોક્કસ. તેથી આ કોળું નિર્દેશ કરે છે. અને જ્યાં આ નિર્દેશક કરે કોળું બિંદુ છે? માટે પ્રેક્ષક: નલ. જેસન HIRSCHHORN: નલ. ચોક્કસ. તેથી અમે કંઇક દાખલ આ કડી થયેલ યાદી માં. અમે હમણાં જ આવું કરવા માટે આ કોડ લખ્યું હતું. લગભગ અમે લગભગ તે મળ્યું સંપૂર્ણપણે તિરાડ. હવે અમે કેન્ડી દાખલ કરો. અમારા કેન્ડી પણ શૂન્ય પર જાય છે. તેથી અમે કેન્ડી સાથે શું કરવું? પ્રેક્ષક: તે કે પર આધાર રાખે છે અમે તેને સૉર્ટ પ્રયાસ કરી રહ્યા છો નથી. જેસન HIRSCHHORN: કે એકદમ સચોટ. તે પર આધાર રાખે છે કે નહીં અમે તેને સૉર્ટ પ્રયાસ કરી રહ્યા છો. માતાનો અમે છો ધારે દો તે સૉર્ટ રહ્યું. પ્રેક્ષક: સારી રીતે પછી, અમે ચર્ચા પહેલાં, તે માત્ર તેને મૂકવા સરળ છે અધિકાર શરૂઆતમાં જેથી નિર્દેશક કેન્ડી શૂન્ય પોઇન્ટ છે. જેસન HIRSCHHORN: બરાબર. પર ધરાવે છે. મને અહીં કેન્ડી બનાવો. તેથી આ નિર્દેશક - પ્રેક્ષક: અરે વાહ, હવે જોઈએ કેન્ડી તરફ ઇશારો કરી. પછી નિર્દેશક થી છે કોળું માટે કેન્ડી બિંદુ. જેસન HIRSCHHORN: કે જેમ? અને અમે અન્ય મળી કહે છે શૂન્ય મેપ વસ્તુ? પ્રેક્ષક: વેલ, તમે માત્ર આ જ વાત કરે છે? જેસન HIRSCHHORN: આ જ વાત કરો. તેથી આ કિસ્સામાં, અમે શું જો તે છટણી રાખવા માંગો છો બદલે સરળ લાગે છે. અમે indice માં નિર્દેશક લઇ અમારા હેશ વિધેય દ્વારા આપવામાં આવે છે. અમે અમારા નવા નોડ માટે તે બિંદુ છે. અને પછી તે પોઇન્ટ આવ્યું હોય અગાઉ માટે - આ માં આ કિસ્સામાં નલ, માં બીજા કિસ્સામાં કોળું - તે પોઇન્ટ છે, ગમે કે પહેલાં, અમે આગામી માં ઉમેરો અમારા નવા નોડ. અમે કંઈક દાખલ કરી રહ્યા છો શરૂઆતમાં. હકીકતમાં આ કરતાં ઘણો સરળ છે છટણી યાદી રાખવા પ્રયાસ કરે છે. પરંતુ ફરીથી, શોધ હશે વધુ અહીં જટિલ. અમે હંમેશા ઓવરને પર જાઓ પડશે. બરાબર. અલગ અલગ chaining વિશે કોઈ પ્રશ્ન? કેવી રીતે કામ કરે છે કે? હવે તેમને પૂછો. હું ખરેખર ખાતરી કરો કે તમે બધા બનાવવા માંગો છો અમે વડા પહેલાં આ સમજે છે. પ્રેક્ષક: તમે શા માટે કોળું મૂકી શકું અને તે જ માં કેન્ડી હેશ કોષ્ટક ભાગ? જેસન HIRSCHHORN: ગુડ પ્રશ્ન. શા માટે આપણે જ તેમને મૂકી શકું હેશ કોષ્ટક ભાગ? વેલ, આ કિસ્સામાં અમારા હેશ વિધેય વળતર બંને માટે શૂન્ય. તેથી તેઓ indice શૂન્ય પર પણ જરૂર નથી અમે જઈ રહ્યાં છો જ્યાં તે છે કારણ કે તેમના માટે જુઓ અમે ક્યારેય તેમને જોવા માંગો છો. ફરીથી, એક રેખીય ચકાસણી અભિગમ સાથે અમે શૂન્ય પર તેમને બન્ને મૂકી શકે છે. પરંતુ અલગ સાંકળ અભિગમ, અમે શૂન્ય પર બંને મૂકી રહ્યા છીએ અને પછી શૂન્ય બંધ યાદી બનાવો. અને અમે કોળું પર ફરીથી લખવા માંગતા ન હોય ફક્ત તે માટે પછી અમે પડશે કારણ કે કોળું હતી ધારે દાખલ નથી. અમે ફક્ત એક વસ્તુ છે તો ખરાબ હશે તે સ્થાન. તો પછી ત્યાં છે કોઈ ક્યારેય અમને તક - અમે ક્યારેય નકલી હતી, તો પછી અમે અમારા પ્રારંભિક કિંમત ભૂંસી છે. અમે આ અભિગમ જ જરૂરી જેથી છે. અમે પસંદ શા અથવા તે છે - પરંતુ ફરીથી, અમે પાંચ અલગ અલગ chaining અભિગમ પસંદ કર્યું, અન્ય ઘણા વિચારો છે જે એક પસંદ કરી શકે છે. કે તમારા પ્રશ્નનો જવાબ આપે છે? બરાબર. કાર્લોસ. લીનિયર ચકાસણી સમાવેશ કરશે - અમે શૂન્ય પર ટક્કર મળી, અમે જોવા માટે આગામી સ્થળ માં જુઓ છો તે ખુલ્લી હતી અને ત્યાં મૂકો. અને પછી અમે આગામી રમત જોવા અને કે ખુલ્લી હતી તે જોવા અને તેને ત્યાં મૂકી. તેથી હવે પછીના ઉપલબ્ધ શોધવા ઓપન હાજર અને ત્યાં મૂકો. કોઈપણ અન્ય પ્રશ્નો છે? અરે વાહ, AVI. પ્રેક્ષક: એક કે સુધી અનુસરો તરીકે, તમે આગામી સ્થળ શું અર્થ છે? હેશ કોષ્ટકમાં અથવા એક કડી થયેલ યાદીમાં. જેસન HIRSCHHORN: રેખીય માટે પ્રોગ્રામિંગ, કોઈ કડી થયેલ યાદી છે. હેશ ટેબલ પર આગામી હાજર. પ્રેક્ષક: બરાબર. તેથી હેશ ટેબલ હશે માપ પ્રારંભ - શબ્દમાળાઓ સંખ્યા જેવી તમે દાખલ કરવામાં આવી હતી? જેસન HIRSCHHORN: તમે છો તે ખરેખર મોટી રાખવા માંગે છે. હા. અહીં આપણે એક ચિત્ર છે માત્ર બોર્ડ પર આધારિત હતી. ફરીથી, અમે અહીં એક ટક્કર છે. 152 ખાતે. અને તમે અમે બનાવેલ જોશો તે બંધ એક કડી થયેલ યાદી. ફરીથી, આ હેશ ટેબલ અલગ અલગ chaining અભિગમ એક તમે નથી સમસ્યાઓ સેટ માટે લઇ જાય છે છ પરંતુ એક કે ઘણો વિદ્યાર્થીઓ લઈ શકે છે. જેથી નોંધ પર, અમને થોડા સમય વાત કરો અમે સમસ્યા છ વિશે વડા પહેલાં અને પછી હું તમારી સાથે એક વાર્તા શેર કરશો. અમે ત્રણ મિનિટ છે. સમસ્યા છ સુયોજિત કરો. તમે ચાર કાર્યો કરતા હોય છે - લોડ,, કદ અને અનલોડ તપાસો. ભાર - સાથે સાથે, અમે જતા કર્યા માત્ર હવે લોડ પર. અમે બોર્ડ પર ભાર હતી. અને અમે પણ ઘણો કોડિંગ શરૂ એક કડી થયેલ યાદી માં દાખલ. તેથી લોડ કરતાં વધુ નથી અમે ફક્ત કરી રહ્યો છું છે. તમારી પાસે એક વખત ચેક છે કંઈક લોડ. આ એ જ પ્રક્રિયા છે. તમે ફેંકવું જ્યાં આ જ પ્રથમ બે ભાગો હેશ વિધેય માં કંઈક અને તેની કિંમત વિશે. પરંતુ હવે અમે તેને દાખલ કરી રહ્યા છીએ. હવે અમે તેને શોધી રહ્યાં છે. હું નમૂના કોડ શોધવા માટે હોય એક કડી થયેલ યાદી માં કંઈક. હું પ્રેક્ટિસ પ્રોત્સાહિત કરીએ છીએ. પરંતુ તર્ક કંઈક છે શોધવા કંઈક દાખલ કરવા માટે ખૂબ જ. ખરેખર, અમે શોધવા એક ચિત્ર દોર્યું એક કડી થયેલ યાદી માં કંઈક ખસેડવાની તમે અંત સુધી મળે ત્યાં સુધી મારફતે. અને તમે અંત સુધી મળી નથી અને કરી શકે છે જો તે શોધવા માટે, પછી તે ત્યાં નથી. જેથી અનિવાર્યપણે, ચેક છે. આગળ માપ છે. માપ અવગણો દો. છેલ્લે તમે અનલોડ છે. અનલોડ અમે દોરવામાં નથી છે બોર્ડ પર અથવા હજુ સુધી કોડેડ. પરંતુ હું તમને તે કોડિંગ પ્રયાસ પ્રોત્સાહિત અમારા નમૂના કડી થયેલ યાદી ઉદાહરણ છે. પરંતુ તર્ક અનલોડ મફત જેવું જ છે - અથવા હું તેનો અર્થ તપાસ જેવી જ છે. તમે જઈ રહ્યાં છો હવે દર વખતે સિવાય દ્વારા, તમે ખાલી કરવા માટે ચકાસણી કરી રહ્યા છીએ જો તમને ત્યાં તમારી કિંમત છે કે કેમ. પરંતુ તમે તે નોડ લેવા અને કરી રહ્યાં છો આવશ્યકપણે, તે મુક્ત કરીને. કે અનલોડ કરવા માટે તમને પૂછે છે. તમે malloced છે મુક્ત બધું. તેથી જો તમે સમગ્ર યાદી મારફતે રહ્યા છીએ ફરીથી, સમગ્ર હેશ પસાર થઇ ટેબલ ફરીથી. આ વખતે તપાસ નથી છે તે જોવા માટે. માત્ર ત્યાં છે મુક્ત. અને છેલ્લે માપ. માપ અમલ કરી શકાય. તમે કદ અમલ ન હોય તો - હુ તેને આ રીતે કહેવું પડશે. તમે બરાબર માપ અમલ ન હોય તો આ સમાવેશ થાય કોડ એક વાક્ય નિવેદન પરત, તમે ખોટી રીતે માપ કરી. તેથી સંપૂર્ણ ડિઝાઇન માટે, ખાતરી કરો કે માપ બનાવવાનું પોઇન્ટ, તમે બરાબર એક માં કરી રહ્યા છીએ સહિત કોડ વાક્ય, પરત નિવેદન. અને, હજુ સુધી Akchar પૅક નથી. આતુર આડશ. હું તમને ગાય્ઝ આભાર કહે માગતા હતા વિભાગ પર આવી માટે. એક હેપી હેલોવીન છે. આ મારો પોશાક છે. હું ગુરુવારે આ પહેરીને આવશે હું ઓફિસ કલાકો તમે જુઓ છો. અને તમે કેટલાક વધુ વિશે વિચિત્ર છો પૃષ્ઠભૂમિ આ કોસ્ચ્યુમ માટે, લાગે 2011 વિભાગ તપાસ માટે મુક્ત હું છું શા માટે એક વાર્તા માટે કોળું પોશાક પહેરીને. અને તે ઉદાસ વાર્તા છે. તેથી ખાતરી કરો કે તમારી પાસે કરો નજીકના કેટલાક પેશીઓ. પરંતુ તે પર, જો તમે કોઇ છે હું આસપાસ વળગી પડશે પ્રશ્નો બહાર વિભાગ છે. સારા નસીબ સમસ્યા પર છ સુયોજિત કરો. અને હંમેશની જેમ, જો તમે કોઇ છે પ્રશ્નો, દો મને ખબર.