您现在的位置:在线题库 >> 计算机类 >> 数据结构
  • ID:9118-1743

    (算法设计)阅读下列函数arrange()

    int arrange(int a[],int 1,int h,int x)

    {//1h分别为数据区的下界和上界

    int i,j,t

    i=1j=h

    while(i

    while(i=x)j--

    while(i=x)i++

    if(i

    { t=a[j]a[j]=a[i]a[i]=t}

    }

    if(a[i] return i

    else return i-1

    }

    1)写出该函数的功能;

    2)写一个调用上述函数实现下列功能的算法:对一整型数组b[n]中的元素进行重新排列,将所有负数均调整到数组的低下标端,将所有正数均调整到数组的高下标端,若有零值,则置于两者之间,并返回数组中零元素的个数。

  • 相关试题查看更多

  • ID:9118-563
    下面程序段的功能是利用从尾部插入的方法建立单链表的算法,请在下划线处填上正确的内容。
    typedef struct node {int data; struct node *next;} lklist;
    void lklistcreate(*&head )
    {
    for (i=1;i<=n;i++)
    {
    p=(lklist *)malloc(sizeof(lklist));scanf(“%d”,&(p->data));p->next=0;
    if(i==1)head=q=p;else {q->next=p;;}
    }
    }

    查看解析

  • ID:9118-362
    设F是由T1、T2和T3三棵树组成的森林,与F对应的二叉树为B,T1、T2和T3的结点数分别为N1、N2和N3,则二叉树B的根结点的左子树的结点数为( )。
    (A) N1-1       (B) N2-1      (C) N2+N3      (D) N1+N3

    查看解析

  • ID:9118-1306

    下面给出的四种排序算法中( )排序法是不稳定性排序法。

    A.插入排序 B.冒泡排序 C. 归并排序 D.堆排序

    查看解析

  • ID:9118-501
    下面程序段的功能是实现一趟快速排序,请在下划线处填上正确的语句。
    struct record {int key;datatype others;};
    void quickpass(struct record r[], int s, int t, int &i)
    {
    int j=t; struct record x=r[s]; i=s;
    while(i {
    while (ix.key) j=j-1; if (i while () i=i+1; if (i }
    ;
    }

    查看解析

  • ID:9118-512
    不论线性表采用顺序存储结构还是链式存储结构,删除值为X的结点的时间复杂度均为O(n)。

    选择答案:查看解析