<prompt> Andika algoriti ili kupanga nambari katika safu kutoka juu hadi chini kabisa.  <response>: Hapa kuna algoriti ambayo itapanga safu ya nambari kutoka juu hadi chini kabisa kwa kutumia mbinu ya kupanga viputo: 1. Anza kwa kuweka kigezo n sawa na urefu wa safu ya ingizo. 2. Unda kitanzi ambacho kitarudia mara n-1. Unaweza kutumia kwa kitanzi na tofauti i kuanzia 0 na kwenda juu hadi n-1. 3. Ndani ya kitanzi hiki, unda kitanzi kingine chenye mabadiliko j kuanzia 0 na kwenda juu hadi ni-1. 4. Ndani ya kitanzi cha ndani, linganisha thamani ya kipengele cha j-th cha mkusanyiko na thamani ya kipengele kinachofuata j1-th. Ikiwa thamani ya kipengele j-th ni ndogo kuliko thamani ya j1-th, basi ubadilishane thamani. 5. Kubadilishana thamani: tengeneza kigezo cha muda temp na ukipe thamani ya kipengele cha j-th. Kisha, kabidhi thamani ya j1-th kwa kipengele j-th. Hatimaye, weka thamani ya temp kwa kipengele j1-th. 6. Loops zote mbili zikikamilika, safu ya pembejeo itapangwa kutoka juu hadi chini kabisa. Rudisha safu iliyopangwa. Hapa kuna algoriti inayotumika kwa safu ya ingizo iliyotolewa 3, 9, 8, 5, 1, 11: 1. Weka n 6 urefu wa safu ya ingizo. 2. Unda kitanzi cha nje ili kurudia kutoka i0 hadi in-1 mara 5. 3. Ndani ya kitanzi cha nje, unda kitanzi cha ndani ili kujirudia kutoka j0 hadi jni-1 nyakati zinazopungua. 4. Ndani ya kitanzi cha ndani, linganisha thamani ya kipengele cha j-th na thamani ya kipengele cha j1-th. Kwa mfano, katika marudio ya kwanza, linganisha thamani za safu katika nafasi j0 na j11 3 na 9. Kwa kuwa 3 ni ndogo kuliko 9, badilisha maadili. Safu inakuwa 9, 3, 8, 5, 1, 11. 5. Endelea kubadilisha thamani wakati wowote kipengele cha j-th ni kidogo kuliko kipengee cha j1-th hadi kitanzi cha ndani. 