એરે અને લિંક્ડ સૂચિ વચ્ચેનો તફાવત

Anonim

એરેઝ વિ લિન્ક્ડ સૂચિ

એરે તત્વોને સંગ્રહિત કરવા માટે સૌથી વધુ ઉપયોગમાં લેવાતા ડેટા માળખું છે. મોટાભાગની પ્રોગ્રામિંગ લેંગ્વેજ એરેઝમાં સરળતાથી એરેઝ અને એક્સેસ એલિમેન્ટોને જાહેર કરવાની પદ્ધતિઓ પ્રદાન કરે છે. લિંક્ડ સૂચિ, વધુ ચોક્કસપણે એકલી-લિંક્ડ સૂચિ, એ ડેટા સ્ટ્રક્ચર છે જેનો ઉપયોગ તત્વોના સંગ્રહને સંગ્રહિત કરવા માટે થઈ શકે છે. તે ગાંઠોના ક્રમથી બનેલો છે અને દરેક નોડના અનુક્રમમાં આગામી નોડનો સંદર્ભ છે.

આકૃતિ 1 માં દર્શાવવામાં આવ્યું છે, એ કોડનો એક ભાગ છે જે સામાન્ય રીતે એરેને મૂલ્યો જાહેર કરવા અને સોંપવા માટે વપરાય છે. આકૃતિ 2 દર્શાવે છે કે મેમરીમાં કેવી રીતે એરે દેખાશે.

ઉપરોક્ત કોડ એક એરે વ્યાખ્યાયિત કરે છે જે 5 પૂર્ણાંકોને સંગ્રહિત કરી શકે છે અને તેઓ 0 થી 4 નિર્દેશિકાઓની મદદથી એક્સેસ કરે છે. એરેની એક મહત્વપૂર્ણ સંપત્તિ એ છે કે સમગ્ર એરે મેમરીના એક બ્લોક તરીકે ફાળવવામાં આવે છે અને દરેક ઘટક તેની પોતાની જગ્યા મેળવે છે. એરે એકવાર એરે વ્યાખ્યાયિત થઈ જાય, તેના કદને સુધારેલ છે તેથી જો તમે કમ્પાઇલ સમય પર એરેના કદ વિશે ચોક્કસ ન હોવ તો, તમારે સલામત બાજુએ રહેવા માટે મોટું પર્યાપ્ત એરે વ્યાખ્યાયિત કરવું પડશે. પરંતુ, મોટાભાગના સમય અમે ફાળવવામાં આવેલા તત્વો કરતાં ઓછા ઘટકોનો ઉપયોગ કરવા જઈ રહ્યા છીએ. તેથી મેમરીનો નોંધપાત્ર જથ્થો ખરેખર વેડફાય છે. બીજી બાજુ જો "મોટા પર્યાપ્ત એરે" ખરેખર પૂરતું મોટું નથી, તો કાર્યક્રમ ક્રેશ થશે.

એક લિંક્ડ સૂચિ મેમરીને તેના પોતાના બ્લોકમાં અલગથી તેના તત્વોમાં મેમરીને ફાળવે છે અને એકંદર માળખું સાંકળમાં લિંક્સ તરીકે આ તત્વોને લિંક કરીને મેળવી શકાય છે. આકૃતિ 3 માં બતાવ્યા પ્રમાણે કડી થયેલ સૂચિમાંના દરેક તત્વ બે ક્ષેત્રો છે. ડેટા ફીલ્ડમાં વાસ્તવિક ડેટા સંગ્રહિત છે અને આગામી ક્ષેત્ર સાંકળમાં આગલા ઘટકનો સંદર્ભ ધરાવે છે. કડી થયેલ સૂચિનું પ્રથમ ઘટક સંલગ્ન સૂચિનું વડા તરીકે સંગ્રહાયેલું છે.

માહિતી આગામી

આકૃતિ 3: એક લિંક્ડ સૂચિની એલિમેન્ટ

આકૃતિ 4 ત્રણ ઘટકો સાથે કડી થયેલ સૂચિને દર્શાવે છે. દરેક ઘટક તેના ડેટા અને છેલ્લા એક સ્ટોર સિવાયના તમામ ઘટકોને આગામી તત્વના સંદર્ભમાં સ્ટોર કરે છે. છેલ્લી એલિમેન્ટ તેના આગામી ક્ષેત્રમાં નલ મૂલ્ય ધરાવે છે. સૂચિમાંના કોઈપણ તત્વને માથા પર શરૂ કરીને અને આગામી પોઇન્ટરને અનુસરીને ઍક્સેસ કરી શકાય છે જ્યાં સુધી તમે આવશ્યક તત્વને પૂર્ણ ન કરો.

ભલે એરે અને કડી થયેલ સૂચિ અર્થમાં સમાન હોય છે કે જે બંનેનો ઉપયોગ તત્વોના સંગ્રહને સંગ્રહિત કરવા માટે થાય છે, તેમ છતાં તેઓ તેમના ઘટકોમાં મેમરીને ફાળવવા માટે ઉપયોગમાં લેવાતી વ્યૂહરચનાઓથી અલગ પડે છે. એરે એક બ્લોક અને તેના એરેના કદ તરીકે તેના તમામ ઘટકોને મેમરીને ફાળવે છે તે રનટાઈમ પર નિર્ધારિત કરવામાં આવે છે. આ એવી પરિસ્થિતિઓમાં બિનજરૂરી એરે બનાવશે જ્યાં તમે કમ્પાઇલ સમય પર એરેનું કદ જાણતા નથી. કડી થયેલ સૂચિ અલગથી તેના તત્વોમાં મેમરી ફાળવે છે, તે પરિસ્થિતિઓમાં તે ખૂબ કાર્યક્ષમ હશે જેમાં તમે સમયને કમ્પાઇલ કરવા પર સૂચિના કદને જાણતા નથી.કડી થયેલ સૂચિમાં ઘટકોની ઘોષણા અને ઍક્સેસનો ઉપયોગ સીધી રીતે નહીં થાય કે તમે તેની સૂચકાંકોનો ઉપયોગ કરીને કેવી રીતે એરેમાં તત્વો સીધેસીધો એક્સેસ કરી શકો છો.