Mlolongo wowote wa data ya aina moja unaweza kuwakilishwa kama orodha. Orodha zinaweza kuamriwa na kusajiliwa. Katika kesi ya mwisho, kufanya kazi na data, kutafuta dhamana inayotarajiwa, na kupata vitu vya orodha husababisha shida fulani. Orodha ya vigeuzi vya kamba kawaida hupangwa kwa herufi. Kuna njia nyingi za upangaji, katika kila kesi unapaswa kuchagua algorithm bora zaidi.
Maagizo
Hatua ya 1
Wakati wa kuchagua njia bora ya upangaji, kuna mambo mawili ya kuzingatia: wakati uliochukuliwa kwa operesheni ya upangaji na kiwango cha kumbukumbu kinachohitajika kwa uhifadhi msaidizi. Kupanga algorithms ambazo hazihitaji kumbukumbu ya ziada hurejelewa kama aina "za mahali". Moja ya rahisi kutekeleza ni aina ya polepole ya Bubble, ambayo hutafuta kila jozi ya vitu kwenye orodha na hubadilisha maeneo kulingana na agizo unalotaka.
Hatua ya 2
Kuna njia ya upangaji wa haraka zaidi kwa kupata kipengee cha chini au cha juu kwenye orodha. Katika kesi ya kuchagua kwa herufi, kila wakati unapitia orodha, unahitaji kupata kipengee chake cha juu - hii itakuwa kamba inayoanza na herufi karibu na mwanzo wa alfabeti. Mara baada ya kupatikana, kamba hiyo hubadilishwa na kitu cha kwanza kabisa kwenye orodha kwenye kupitisha kwanza. Baada ya kuzingatia zaidi orodha, nafasi ya kwanza imetengwa, kipengee kinachofuata kinatafutwa, kuwekwa mahali pa pili, n.k. Nambari ya mpango wa kuchagua katika C ++ kwa njia ya kutafuta kipengee cha juu cha orodha: Kamba ya Arr [20], cTemp; int N = 20, Max, Pos; kwa (int i = 0; i <N- 1; i ++) {Max = Arr ; Pos = i; kwa (int j = 0; j <N; j ++) {if (Arr [j] <Max) {Max = Arr [j]; Pos = j; } cTemp = Arr ; Arr = Arr [Pos]; Arr [Pos] = cTemp; }}
Hatua ya 3
Suluhisho bora zaidi ya kuagiza data ya kamba kwenye orodha ni aina ya kuingiza. Kiini chake kiko katika ukweli kwamba kwa kila kupita kwenye orodha, kuna sehemu iliyoagizwa ya orodha ya idadi fulani ya vitu, kwa hivyo, kipengee kinachofuata kinachozingatiwa kimewekwa mahali pazuri kwenye orodha. Nambari ya C ++ ya upangaji wa upangaji wa uingizaji: String Arr [20], cTemp; int N = 20; kwa (int i = 1, j = 0; i <N; i ++) {cTemp = Arr ; j = i - 1; wakati (cTemp <Arr [j]) {Arr [j + 1] = Arr [j]; j--; ikiwa (j <0) kuvunja; Arr [j + 1] = cTemp; }}