def str_insert(data): k=1 while(k<len(data)): j=k-1 d=data[k]#待插入的数值 while(j>=0): if d<data[j]: if j==0: data[j+1]=data[j] data[j]=d else: data[j+1]=data[j] else: data[j+1]=d break j=j-1 k=k+1 return data data=[4,1,2,5,3] result=str_insert(data) print(result)
每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序