• 2022-06-03
    已知有两个按元素值递增有序的顺序表A和B(这样的顺序表称递增有序顺序表)。设计一个算法将顺序表A和B的全部元素归并到一个按元素递增有序的顺序表C中。并分析算法的空间复杂度和时间复杂度。
  • void Merge(SqList A,SqList B,SqList &C)//C为引用型参数{ int i=0,j=0,k=0;//k记录顺序表C中的元素个数 while (i<;A.length && j<;B.length) { if (A.data[i]<;B.data[j]){ C.data[k]=A.data[i];i++;k++;}else//A.data[i]>;=B.data[j]{ C.data[k]=B.data[j];j++;k++;} }while (i<;A.length)//将A中剩余的元素复制到C中 {C.data[k]=A.data[i];i++;k++; } while (j<;B.length)//将B中剩余的元素复制到C中 {C.data[k]=B.data[j];j++;k++; } C.length=k;//指定顺序表C的实际长度}[/i][/i][/i][/i]

    内容

    • 0

      已知顺序表L为按值递增有序的,编写算法将数据元素e插入到顺序表L中,使之仍有序。2、编写算法删除

    • 1

      有一个递增有序顺序表L,设计一个算法将x插入到适当位置上,以保持该表的有序性,并给出算法的时间复杂度和空间复杂度。

    • 2

      设顺序表L中的数据元素递增有序.试写一算法,将x插入到顺序表的适当位置上,以保持该线性表的有序性。并分析算法的时间复杂度。

    • 3

      设某顺序表L递增有序,试编写算法实现将元素x插入到表的适当位置上,插入之后顺序表仍然递增有序。

    • 4

      已知顺序表中的元素按元素值非递减有序排列,编写一个算法,删除顺序表中多余的值相同的元素。