<prompt> Andika algoriti inayopanga safu ya nambari kamili  <response>: Hapa kuna njia moja ya kupanga safu kamili ya nambari kwa kutumia algoriti ya Panga Uingizaji: 1. Anza kwa kuchukulia kuwa kipengele cha kwanza cha mkusanyiko tayari kimepangwa. 2. Kisha, iterate kupitia safu, kuanzia kipengele cha pili index 1. 3. Kwa kila kipengele, kulinganisha na vipengele kabla yake katika safu. 4. Ikiwa kipengele cha sasa ni kidogo kuliko kipengele kilichotangulia, badilisha nafasi zao. 5. Endelea kubadilisha kipengele cha sasa na kipengele kilichotangulia hadi kikiwa katika nafasi sahihi yaani, ni kikubwa kuliko au sawa na kipengele kilicho kabla yake na chini ya au sawa na kipengele baada yake. 6. Rudia mchakato huu kwa vipengele vyote katika safu hadi safu nzima ipangwa kwa utaratibu wa kupanda. 7. Rudisha safu iliyopangwa. Hapa kuna mfano wa utekelezaji wa algorithm hapo juu katika Python: def insertion_sortarr: kwa i in range1, lenarr: j i while j 0 and arrj-1 arr j: arrj-1, arrj arrj, arrj-1 j - 1 return arr Algoriti hii hupanga safu mahali, kumaanisha haitumii nafasi yoyote ya ziada ya kuhifadhi. Utata wa wakati wa algoriti hii ni On2 katika hali mbaya zaidi, ambapo n ni idadi ya vipengele katika safu. 