ቁልፍ ልዩነት - አጠቃላይ እና አጠቃላይ ያልሆነ ስብስብ በC
A አጠቃላይ ስብስብ ከመሠረታዊ የመሰብሰቢያ ዓይነት ሳይወጣ እና ዓይነት-ተኮር አባላትን መተግበር ሳያስፈልግ የአይነት ደህንነትን የሚሰጥ ክፍል ነው። አጠቃላይ ያልሆነ ስብስብ ለመረጃ ማከማቻ እና መልሶ ማግኛ ልዩ ክፍል ሲሆን ይህም ለተደራራቢዎች፣ ለወረፋዎች፣ ለዝርዝሮች እና ለሃሽታቦች ድጋፍ የሚሰጥ ነው። በጠቅላላ እና አጠቃላይ ያልሆነ ስብስብ በC መካከል ያለው ቁልፍ ልዩነት አጠቃላይ ስብስብ በጥብቅ መተየቡ ሲሆን አጠቃላይ ያልሆነ ስብስብ በጥብቅ አለመተየቡ ነው።
በC ውስጥ አጠቃላይ ስብስብ ምንድነው?
እንደ ArrayList፣ Queue፣ Stack፣ ወዘተ ያሉ አጠቃላይ ያልሆኑ ስብስቦች።የተለያዩ የውሂብ አይነቶች ክፍሎችን ማከማቸት ይችላል. እቃዎቹን በሚያገኙበት ጊዜ ፕሮግራመርተኛው ወደ ትክክለኛው የውሂብ አይነት ውሰድ መተየብ አለበት። ያለበለዚያ የሩጫ ጊዜ ልዩ ሁኔታን ሊያስከትል ይችላል። ይህንን ችግር ለማሸነፍ አጠቃላይ የስብስብ ክፍሎች ጥቅም ላይ ሊውሉ ይችላሉ. አጠቃላይ ስብስቦች ንጥረ ነገሮቹን በውስጣቸው በትክክለኛ ዓይነቶች ድርድር ያከማቻሉ። ስለዚህ, ዓይነት መውሰድ አያስፈልግም. የተገለጹትን ዓይነቶች ወይም ዓይነቶችን ለማከማቸት ሊያገለግሉ ይችላሉ. አንዳንድ አጠቃላይ የስብስብ ክፍሎች ዝርዝር፣ መዝገበ ቃላት፣ የተደረደሩ ዝርዝር፣ HashSet፣ Queue፣ Stack ናቸው።
አጠቃላይ ዝርዝሩ የተወሰነ አይነት አካላትን ይዟል። ኤለመንቶችን ሲጨምር ዝርዝሩን በዚሁ መሰረት ሊጨምር ይችላል። እንደሚከተለው መግለጫ ሲኖር፣ ወደ ዝርዝሩ 1 ሊቀመጡ የሚችሉት ሁሉም ንጥረ ነገሮች ኢንቲጀር፣መሆን አለባቸው።
ዝርዝር ዝርዝር1 - አዲስ ዝርዝር ();
በC ውስጥ ያለው አጠቃላይ መዝገበ ቃላት የቁልፍ እና የእሴቶች ስብስብ ነው። እንደሚከተለው መግለጫ ሲኖር የነገር መዝገበ ቃላት1 የ int አይነት ቁልፎችን እና የህብረቁምፊ አይነት እሴቶችን ማከማቸት ይችላል።
መዝገበ ቃላት መዝገበ ቃላት1=አዲስ መዝገበ ቃላት ();
A አጠቃላይ የተደረደሩ ዝርዝር ስብስብ ቁልፍ እና እሴት ጥንድ በነባሪ በቁልፍ ቅደም ተከተል ያከማቻል። ከምሳሌ በታች የኢንት አይነት ቁልፍ እና የሕብረቁምፊ አይነት ዋጋ ያከማቻል።
SortedList s0=አዲስ የተደረደሩ ዝርዝር ();
እነዚህ በC ውስጥ ለአጠቃላይ ስብስብ ጥቂት ምሳሌዎች ናቸው። እነዚህ ስብስቦች የተገለጹትን የውሂብ አይነቶች በርካታ እሴቶችን ማከማቸት ይችላሉ። ስለዚህ፣ በብርቱ የተተየቡ ናቸው።
በC ውስጥ አጠቃላይ ያልሆነ ስብስብ ምንድነው?
ድርድሮች በርካታ አባሎችን ለማከማቸት ጥቅም ላይ ሊውሉ ይችላሉ። አንድ ችግር አንድ አይነት የውሂብ አይነት አካላትን ማከማቸት መቻሉ ነው። በCውስጥ ብዙ እሴቶችን ወይም ስብስቦች በመባል የሚታወቁ ነገሮችን ለማከማቸት የሚያገለግሉ ክፍሎች አሉ። ስብስቦች ነገሮችን ለማከማቸት፣ ለማዘመን፣ ለመሰረዝ፣ ለመፈለግ እና ለመደርደር ይረዳሉ።የስብስቡ መጠን በተለዋዋጭ ሊጨምር ወይም ሊቀንስ ይችላል።
አንዳንድ አጠቃላይ ያልሆኑ የስብስብ ክፍሎች ArrayList፣ SortedList፣ Stack፣ Queue እና HashTable ናቸው። እያንዳንዱ የመሰብሰቢያ ክፍል ሊቆጠር የሚችል በይነገጽን ተግባራዊ ያደርጋል። የፎሪክ ሉፕን በመጠቀም በክምችቱ ውስጥ ያሉትን የንጥሎች አካላት ለመድገም ይረዳል።
የድርድር ዝርዝር የድርድር አማራጭ ነው። 10 ንጥረ ነገሮችን የሚያከማች ድርድር ካለ 20 ንጥረ ነገሮችን ማከማቸት አይችልም። አደራደሩ ወደ 10 ንጥረ ነገሮች ከተጀመረ ግን 5 ንጥረ ነገሮችን ብቻ የሚያከማች ከሆነ የተቀረው ጥቅም ላይ አይውልም። ስለዚህ, ድርድር ተስተካክሏል. በ ArrayList ውስጥ እንደ መረጃ ጠቋሚው ላይ በመመስረት አባሎችን ማከል ወይም ማስወገድ ይቻላል. ተለዋዋጭ ማህደረ ትውስታ ምደባ ይፈቅዳል. የመደርደር ዘዴው ኤለመንቶችን በከፍታ ቅደም ተከተል ለመደርደር ጥቅም ላይ ሊውል ይችላል።
HashTable የቁልፍ እሴት ጥንዶች ስብስብን ለመወከል ጥቅም ላይ ይውላል። የተደራጁት በቁልፉ ሃሽ ኮድ መሰረት ነው። ስለዚህ፣ እያንዳንዱ አካል ቁልፍ እሴት ጥንድ አለው። ቁልፉ በክምችቱ ውስጥ አንድ የተወሰነ አካል ለመድረስ ሊያገለግል ይችላል።ቁልል የመጨረሻውን ይወክላል፣ በመጀመሪያ የንጥሎች መዳረሻ። ወረፋው ለመጀመሪያ ጊዜ ጥቅም ላይ የሚውለው የንጥሎች መዳረሻ ለመጀመሪያ ጊዜ ነው። እነዚህ በC የሚደገፉ አንዳንድ አጠቃላይ ያልሆኑ ስብስቦች ናቸው። እነዚህ ስብስቦች የተለያዩ አይነት ክፍሎችን ማከማቸት ይችላሉ።
በአጠቃላይ እና አጠቃላይ ያልሆነ ስብስብ በC መካከል ያለው ተመሳሳይነት ምንድነው?
ሁለቱም ሁለንተናዊ እና አጠቃላይ ያልሆነ ስብስብ በC ውስጥ ብዙ ክፍሎችን ለማከማቸት ጥቅም ላይ ሊውል ይችላል።
በአጠቃላይ እና አጠቃላይ ያልሆነ ስብስብ በC መካከል ያለው ልዩነት ምንድነው?
አጠቃላይ እና አጠቃላይ ያልሆነ ስብስብ በሲ |
|
A አጠቃላይ ስብስብ ከመሠረታዊ የመሰብሰቢያ ዓይነት ሳይወጣ እና አይነት-ተኮር አባላትን መተግበር ሳያስፈልግ የአይነት ደህንነትን የሚሰጥ ክፍል ነው። | አጠቃላይ ያልሆነ ስብስብ ለመረጃ ማከማቻ እና መልሶ ማግኛ ልዩ ክፍል ሲሆን ይህም ለተደራራቢዎች፣ ወረፋዎች፣ ዝርዝሮች እና የሃሽ ሰንጠረዦች ድጋፍ ይሰጣል። |
የስም ቦታ | |
የአጠቃላይ ስብስብ ክፍሎች በሲስተሙ ውስጥ ናቸው። ስብስቦች. አጠቃላይ የስም ቦታ። | አጠቃላይ ያልሆኑ የስብስብ ክፍሎች በሲስተሙ ውስጥ ናቸው። የክምችቶች ስም ቦታ። |
አይነት | |
A አጠቃላይ ስብስብ በጥብቅ የተተየበ ነው። | አጠቃላይ ያልሆነ ስብስብ በጥብቅ አልተተየበም። |
ንጥረ ነገሮችን በማስቀመጥ ላይ | |
አጠቃላይ ስብስቦች ኤለመንቶችን ከውስጥ በእውነተኛ ዓይነታቸው ድርድር ያከማቻሉ። | አጠቃላይ ያልሆኑ ስብስቦች ኤለመንቶችን በውስጥ ነገር ያከማቻሉ ስለዚህ ማንኛውንም አይነት ውሂብ ማከማቸት ይችላል። |
ማጠቃለያ - አጠቃላይ እና አጠቃላይ ያልሆነ ስብስብ በC
ይህ መጣጥፍ በC ውስጥ ባለው አጠቃላይ እና አጠቃላይ ያልሆነ ስብስብ መካከል ያለውን ልዩነት ተመልክቷል። በጠቅላላ እና አጠቃላይ ያልሆነ ስብስብ መካከል ያለው ልዩነት አጠቃላይ ስብስብ በጥብቅ መተየቡ ሲሆን አጠቃላይ ያልሆነ ስብስብ በጥብቅ አለመተየቡ ነው።