• 2022-06-01
    假设―个顺序表[tex=0.714x1.0]ravtxd2oof9d0U26ZFAIhw==[/tex]中所有元素为整数,设计一个算法调整该顺序表,使其中所有小于零的元素放在所有大于等于零的元素的前面。
  • 解 : [tex=1.786x1.286]mnNXUTyLCMCnMwutzH6btQ==[/tex] 分别置初值为 [tex=0.5x1.0]Sc0he7miKB3YF9rgXf2dDw==[/tex] 和 [tex=5.357x1.214]+YfBqpoF6VwqtKNLF2GpM1gVWqLFCZmrmzV6avh1jkc=[/tex] 当 [tex=2.143x1.214]hOr2JzwZJZGiKMGcFGzENQ==[/tex]时循环: [tex=0.357x1.0]O88k7AtkDgTC9kv/8dY0lg==[/tex]从前向后扫描顺序表[tex=1.0x1.214]YHs5BX1EMaBNmbX0qd/96w==[/tex] 找大于等于[tex=0.5x1.0]Sc0he7miKB3YF9rgXf2dDw==[/tex] 的元索, [tex=0.429x1.214]rmIPPJrP+tFN2kAYPlU/4g==[/tex] 从居向前扫描顺序表 [tex=1.0x1.214]YHs5BX1EMaBNmbX0qd/96w==[/tex] 找小于[tex=0.5x1.0]Sc0he7miKB3YF9rgXf2dDw==[/tex]的元素,当[tex=2.143x1.214]hOr2JzwZJZGiKMGcFGzENQ==[/tex]时将两元素交换。对应的算法如下:void fun( SqList &L){    int i = o,j- L.length- 1;    ElemType tmp;    while ( i<=j)    {    while (L. daLa[ i]<0)i++ ;        while (L.data[j]>=0)j--;        printf("A[ % d] : % d A[ % d] :%d交换\n”,i, j,L.data[ i],L.data[ j]);        if ( i

    内容

    • 0

      假设有一个顺序表L,其中元素为整数且所有元素值均不相同。设计一个算法将最大值元素与最小值元素交换。

    • 1

      假设数组A&#91;n&#93;的n个元素中有多个零元素,设计一个算法,将A中所有的非零元素依次移到A的前端。

    • 2

      设计一个算法,从有序顺序表中删除所有其值重复的元素,使表中所有元素的值均不相同。

    • 3

      对于具有n个元素的线性表,算法___在单链表上实现要比在顺序表上实现效率更高。 A: 删除所有值为x的元素 B: 在最后一个元素的后面插入一个新元素 C: 顺序输出前k个元素 D: 第i个元素与第n-i-1个元素交换

    • 4

      设计一个算法,从顺序表L中(SqListL)删除具有给定值x(ElemTypex)的所有元素。