ዝርዝር ሁኔታ:
ቪዲዮ: በC++ ውስጥ በተገናኘ ዝርዝር ውስጥ የአረፋ መደርደር እንዴት መፍጠር ይቻላል?
2024 ደራሲ ደራሲ: Lynn Donovan | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2023-12-15 23:42
የአረፋ መደርደርን ለማከናወን የሚከተሉትን ደረጃዎች እንከተላለን፡
- ደረጃ 1፡ በ 2 አጎራባች ኖዶች ላይ ያለው መረጃ ወደላይ ቅደም ተከተል እንዳለው ወይም እንዳልሆነ ያረጋግጡ። ካልሆነ የ 2 አጎራባች አንጓዎችን ውሂብ ይቀይሩ።
- ደረጃ 2፡ ማለፊያ 1 መጨረሻ ላይ ትልቁ ኤለመንት በዝርዝሩ መጨረሻ ላይ ይሆናል።
- ደረጃ 3: ሁሉንም ንጥረ ነገሮች ሲጀምሩ, ዑደቱን እናቋርጣለን.
በዚህ መንገድ፣ በC++ ውስጥ በተገናኘ ዝርዝር ውስጥ የአረፋ አይነት እንዴት መፍጠር ይቻላል?
የአረፋ መደርደርን ለማከናወን የሚከተሉትን ደረጃዎች እንከተላለን፡
- ደረጃ 1፡ በ 2 አጎራባች ኖዶች ላይ ያለው መረጃ ወደላይ ቅደም ተከተል እንዳለው ወይም እንዳልሆነ ያረጋግጡ። ካልሆነ የ 2 አጎራባች አንጓዎችን ውሂብ ይቀይሩ።
- ደረጃ 2፡ ማለፊያ 1 መጨረሻ ላይ ትልቁ ኤለመንት በዝርዝሩ መጨረሻ ላይ ይሆናል።
- ደረጃ 3: ሁሉንም ንጥረ ነገሮች ሲጀምሩ, ዑደቱን እናቋርጣለን.
በተመሳሳይ፣ የአረፋ ዓይነት C++ ምንድን ነው? የአረፋ ደርድር . በውስጡ የአረፋ መደርደር , እንደ ንጥረ ነገሮች ተደርድሯል እነሱ ቀስ በቀስ " አረፋ " (ወይንም መነሳት) በድርድር ውስጥ ወዳለው ትክክለኛ ቦታቸው፣ እንደ አረፋዎች በሶዳ ብርጭቆ ውስጥ መነሳት. የ የአረፋ መደርደር የድርድር ተጓዳኝ አካላትን በተደጋጋሚ ያወዳድራል። የመጀመሪያዎቹ እና ሁለተኛው አካላት ከትዕዛዝ ውጭ ከሆኑ ይነፃፀራሉ እና ይለዋወጣሉ።
በሁለተኛ ደረጃ፣ በተገናኘ ዝርዝር ውስጥ ውሂብን እንዴት መደርደር ይቻላል?
አልጎሪዝም
- ሁለት ባህሪያት ያለው ክፍል ፍጠር: ውሂብ እና ቀጣይ.
- ሁለት ባህሪያት ያለው ሌላ የመደብ ዝርዝር ይፍጠሩ፡ ጭንቅላት እና ጅራት።
- addNode() ወደ ዝርዝሩ አዲስ መስቀለኛ መንገድ ያክላል፡-
- sortList() የዝርዝሩን አንጓዎች በከፍታ ቅደም ተከተል ያስቀምጣል።
- ማሳያ () በዝርዝሩ ውስጥ ያሉትን አንጓዎች ያሳያል:
ለተገናኘ ዝርዝር በጣም ጥሩው የመደርደር ስልተ ቀመር የትኛው ነው?
መደርደር አዋህድ ብዙውን ጊዜ የተገናኘ ዝርዝርን ለመደርደር ይመረጣል. የተገናኘው ዝርዝር ዘገምተኛ የዘፈቀደ መዳረሻ አፈጻጸም አንዳንድ ሌሎች ስልተ ቀመሮችን (እንደ፡ ፈጣን መደርደር ) ደካማ አፈጻጸም እና ሌሎች (እንደ ክምር ) ፈጽሞ የማይቻል. ጭንቅላት ለመደርደር የተገናኘው ዝርዝር የመጀመሪያ መስቀለኛ መንገድ ይሁን እና headRef የጭንቅላት ጠቋሚ ይሁን።