数据结构算法题.docVIP

  • 14
  • 0
  • 约9.38千字
  • 约 11页
  • 2017-03-03 发布于湖北
  • 举报
前五章习题算法 2.2 算法设计题 1.设计一个算法从一给定的有序顺序表L中删除元素值在X到Y(X=Y)之间的所有元素,要求以较高的效率实现,要求算法的空间复杂度为O(1) void delete(SqList L,ElemType x,ElemType y) { int i=0,k=0; while(iL.length) { if(L.elem[i]=x L.elem[i]=y) k++; //记录被删记录的个数 else L.elem[i-k]=L.elem[i]; //前移k个位置 i++; } L.length=L.length-k; } void move(SqList L) { int i=0,j=L.length-1; int temp; while(ij) //使得正数都在前半部分,负数都在后半部分 { while(ijL.elem[i]0)i++; while(ijL.elem[j]0)j--; if(ij) //交换L.elem[i](负数)和L.elem[j](正数) { temp=L.elem[i]; L.elem[i]=L.elem[j]; L.elem[j]=temp; } } i=1; while(iL.length/2) //通过交换使得正负数相间 { j=L.

文档评论(0)

1亿VIP精品文档

相关文档