张一极
xxxxxxxxxx261'''21.将一个顺序表表头作为比较元素,大于表头的放在后面,小于表头的放在后面3从最后一个元素开始,往前寻找,直到有小于temp的存在,此时把表头的位置定下来,将对应位置的元素赋值给表头(此时表头数据已经在temp里可直接覆盖),接着从头开始,直到寻找到大于temp的数据,将这个数据赋值给end,接着继续循环,往下将大于的顺序表元素赋值到后面,将小于temp的数据表元素赋值到头部,直到i和j相遇,此时得到最后的位置即temp应该存在的位置4'''5list = [3,-1,-27,-4,-5,6,-1]6def move_element_ahead_end(A):7 i=08 j=len(A)-19 temp = A[0]10 while i<j:11 while i<j and A[j]>temp:12 j-=113 print(j)14 if i<j:15 print(A)16 A[i]=A[j]17 print(A)18 i+=119 while i<j and A[i]<temp:20 i+=121 print(i)22 if i<j:23 A[j]=A[i]24 A[i]=temp25 print(A)26move_element_ahead_end(list)xxxxxxxxxx171'''22.删除i-j范围内的数据,不增加新链表,使用j往后的(j-i)个数据覆盖前面(j-i)个元素,代码如下:3 细节一:remove后,每次list长度都会变短,会产生溢出数值4 细节二:dele_place的起点5 解决:删除-1个元素,循环n次,等同于删除n到len(data)长度的数据6'''7sqlist = [2,3,4,11,1,-2,39,10]8def dele_i2j_element(data,i,j):9 print("before:",data)10 out = 011 for replace_index in range(j,len(data)):12 data[i+(replace_index-j)]=data[replace_index]13 out = i+(replace_index-j)14 for dele_place in range(out+1,len(data)):15 data.remove(data[-1])16 print("after:",data)17dele_i2j_element(sqlist,1,6)