itgle.com

template int SeqList::Insert(Type &x, int i) {if (ilast+1 || last== MaxSize-1) return 0;else {Last++;for(int j=last;jdata[i]=x;return 1;}}对于结点类型为SeqList的顺序表,以上算法的功能为:()

题目

template int SeqList::Insert(Type &x, int i) {

if (i<0 || i>last+1 || last== MaxSize-1) return 0;

else {

Last++;

for(int j=last;j

data[i]=x;

return 1;

}

}

对于结点类型为SeqList的顺序表,以上算法的功能为:()


相似考题
更多“template int SeqList::Insert(Type &x, int i) {if (i<0 || i>last+1 || last== Ma ”相关问题
  • 第1题:

    在下面程序横线处填上适当内容,使得程序的输出为9876。include using namespace std;te

    在下面程序横线处填上适当内容,使得程序的输出为9876。

    include <iostream>

    using namespace std;

    template<class T>

    void f(【 】)

    {

    T t;

    for (int i=0;i<n/2;i++)

    {

    t=a Ii];

    a [i]=a[n-1-i];

    a [n-1-i]=t;

    }

    }

    int main ( )

    {

    int x[]={6,7,8,9};

    f(x,4);

    for (int i=0;i<4;i++)

    cout<<x[i];

    cout<<end1;

    return 0;

    }


    正确答案:Ta[]int n
    Ta[],int n 解析:函数f的形参之一为T类型的数组a,形参之二为整型数n。

  • 第2题:

    有以下程序: include using namespace std; int f(int); int main() {int i;for(i=0;

    有以下程序:

    include <iostream>

    using namespace std;

    int f(int);

    int main()

    {

    int i;

    for(i=0;i<5;i++)

    cout<<f(i)<<" ";

    return 0;

    }

    int f(int i)

    {

    static int k=1;

    for(;i>0;i--)

    k+=i;


    正确答案:1 2 5 11 21
    1 2 5 11 21 解析:函数f()中定义了一个内部静态变量k,其作用域仍在定义它的函数内。但该类型变量采用静态存储分配,当函数执行完,返回调用点时,该变量并不撤销,其值将继续保留,若下次再进入该函数时,其值仍然存在。内部静态变量有隐含初值0,并且只在编译时初始化一次。

  • 第3题:

    下列程序的输出结果是______。 include template T max(T x[],int n) { int

    下列程序的输出结果是______。

    include<iostream.h>

    template<class T>

    T max(T x[],int n)

    {

    int i;

    T maxv=x[0];

    for(i=1;i<n;i++)

    if(maxv<x[i])

    maxv=x[i];

    return maxv;

    }

    void main( )

    {

    int a[]={3,2,7,6,8,9};

    double b[]={1.2,3.4,2.5,7.3,6.8};

    cout<<max(a,4)<<","<<max(b,3)<<endl;

    }


    正确答案:73.4
    7,3.4 解析:函数的功能是求出数组中指定范围的元素中的最大值。所以在a数组中前四个数据中最大值为7,数组b中前3个元素中最大值为3.4。

  • 第4题:

    以下程序的输出结果是【 】。include int fun(int x) {static int t=0; return(t+=x); }

    以下程序的输出结果是【 】。

    include <stdio.h>

    int fun(int x)

    { static int t=0;

    return(t+=x);

    }

    main()

    int s,i;

    for(i=1 ;i<=5;i++) s=fun(i);

    printf("%d\n",s);


    正确答案:15
    15 解析:static类型的变量是静态变量,本题中的静态变量t为静态局部变量。静态局部变量是在编译时赋初值的,即只赋初值一次,在程序运行时它已有初值。以后每次调用函数时不再重新赋初值而只是保留上次函数调用时的值。本题在多次调用fun函数的过程中,只在第一次调用时t的初值为0,以后每次调用函数时不再重新赋初值,而只是保留上次函数调用结束时的值,所以本程序的作用相当于将1到5数字进行累加,故输出结果为15。

  • 第5题:

    有以下程序:include void fun(iht * a,int i,int j){int t;if(i < j) {t=a[i];a[i] =

    有以下程序:#include <stdio, h>void fun(iht * a,int i,int j){ int t; if(i < j) { t=a[i];a[i] =a[j] ;a[j]=t; i++;j--; fun(a,i,j);main ( ) int x[ ]: {2,6,1,8} ,i; fun(x,0,3); for( i=0;i <4;i ++ ) printf( "%2d" ,x[i] ); printf(" \n");

    A.1268

    B.8621

    C.8162

    D.8612


    正确答案:C
    解析:语句fun(x,0、3);中将数组名x作为实参,即把数组x的首地址传送给形参(指针a),使数组x与形参指针s共占同一段内存单元,在调用函数期间,如果形参数组x的值发生了改变,实参指针a的值也就改变了。程序中fun函数是递归调用函数,其运行过程是:第1次调用fun时,a=x,i=0,j=3,ij成立,a[0]与a[3]交换,a数组中的数变为{8,6,1,2},执行i++;j--;继续调用fun,此时i,j分别为1,2,ij成立,a[1]与a[2]交换,a数组中的数变为{8,1,6,2},执行i++j--;继续调用fun,此时i,j分别为2,1,ij不成立,递归调用结束。当返回主函数时,x数组中的数据就为{8,1,6,2}。

  • 第6题:

    下列程序的输出结果是______。

    include<iostream.h)

    template<class T>

    Tmax(T x[],int n)

    {

    int i;

    T maxv=x[0];

    for(i=1;i(n;i++)

    if(maxv maxv=x[i];

    return maxv;

    }

    void main()

    {

    inta[]={3,2,7,6,8,9};

    double b[]={1.2,3.4,2.5,7.3,6


    正确答案:73.4。
    7,3.4。 解析: 函数的功能是求出数组中指定范围的元素中的最大值。所以在a数组中前四个数据中最大值为7,数组b中前3个元素中最大值为3.4。

  • 第7题:

    有以下程序: include using namespace std; int main() {int x;for(int i=1;i<=100;

    有以下程序: #include <iostream> using namespace std; int main() { int x; for(int i=1;i<=100;i++) { x=i; if (++x%2==0) if (++x%3==0) if (++x%7==0) cout<

    A.39,81

    B.42,84

    C.26,68

    D.28,70


    正确答案:D
    解析:程序最后输出的x值所满足的条件为:x本身能被7整除,(x-1)能被3整除,(x-2)能被2整除。在1~100之间满足条件的x值是28和70。

  • 第8题:

    以下程序的执行结果是()。includeint fun(int b[],int n){int i,r=1;for(i=0;i

    以下程序的执行结果是( )。 #include<iostream.h> int fun(int b[],int n) { int i,r=1; for(i=0;i<n;i++) r=r*b[i]; } void main() { int x,a[]={1,2,3,4,5,6,7,8}; x=fun(a,3); cout<<x<<endl; }

    A.5

    B.6

    C.7

    D.8


    正确答案:B

  • 第9题:

    有以下程序: #include #define N 4 void fun(int a[ ][N],int b[ ]) { int i; for(i=0;i main( ) { int i,j,x=0; for(i=0;i<2;i++) { x++; for(j=0;j<=3;j++) { if(j%2==0)continue;x++;} x++; } printf("x=%d\n",x); } 程序的运行结果是( )。

    A.x=4

    B.x=6

    C.x=8

    D.x=12


    答案:C 
    解析:第一次循环:i=0,执行x++后x=1,执行内层循环j=0,由于j%2!=0时才执行x++,即只有j取1和3时,执行x++,此时x=1+1+1=3,跳出内层循环,执行下一条x++,x=4,第二次循环:x=1时,重复上述循环,共执行两次循环,故x最终结果是4*2=8。 

  • 第10题:

    include<iostream.h>

    class A

    {

    private:

    int x,y;

    public:

    void f1(int i=0,int j=0){x=i;y=j;}

    void print(){cout<<x<<" "<<y<<endl;}

    void f1(int i=0){x=i,y=0;}

    };

    void main()

    {

    A a;

    a.f1(5);

    a.print();

    }


    正确答案:
    a.f1(5);重载函数产生了二义性。应删去其中一个函数f1。

  • 第11题:

    读程序:includef(int b[],int n){ int i,r;r=1;for(i=0;i<=n;i++)r=r*b[i];return r;}

    读程序: #include <stdio.h> f(int b[],int n) { int i,r; r=1; for(i=0;i<=n;i++) r=r*b[i]; return r; } main() { int x,a[]={2,3,4,5,6,7,8,9}; x=f(a,3); printf("%d\n",x); } 上面程序的输出结果是( )。

    A.720

    B.120

    C.24

    D.6


    正确答案:B
    解析:本题考查函数的调用。函数f的功能是将b[]小的第1到n+1个数组元素的值进行相乘运算,然后返回其结果。由于实参3传给形参n,所以f的返回值为x=2*3*4=5=120。

  • 第12题:

    以下程序中,fun函数的功能足求3行4列二维数组每行尢素中的最大值。请填空。 void fun(int,int,int(*)[4],int*); main() {int a[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i; fun(3,4,a,B); for(i=0;j<3;i++)printf("%4d",b[i]); printf("\n"); } void fun(int m,int n,int ar[][4],int*br) {int i,j,x; for(i=0;i<m;i++) {x=ar[i][0]; for(j=0;j<n;j++) if(( )) x=ar[i][j]; br[i]=x; } }


    正确答案:xar[i][j]
    xar[i][j] 解析:本题考查的是循环的嵌套。本题定义了二维数组a,存放3行4列的数组元素,定义了,一维数组b用于存放每行的最大数。存函数fun中,通过二重for循环求每行的最大数,外层for循环用于控制行数,内层for循环用于控制列数。当外层循环执行一次时,内层循环则执行4次,并求出了这一行的最大值x,最后将每一行求出最大值x赋值给存放最大值的数组br,故本题答案为xar[i][j]。

  • 第13题:

    下面函数的作用是【 】。

    int index(int x,int a[],int n)

    {

    for(int i=0;i<n;i++)

    {

    if(a[i]==x)

    return i;

    }

    return i;

    }


    正确答案:数组a中查找x若有则返回第一个x的下标若没有则返回n
    数组a中查找x,若有则返回第一个x的下标,若没有则返回n 解析:函数的作用是通过变量数组,在数组中查找x,若找到则显示下标i。

  • 第14题:

    下面程序的结果【】。 include int f(int); void main() { int x=1,i; for (i=0; i<3;

    下面程序的结果【 】。

    include<iostream.h>

    int f(int);

    void main() {

    int x=1, i;

    for (i=0; i<3; i++)

    cout<<f(x)<<‘ ’ ;

    cout<<end1;

    }

    int f(int x){

    int y=1;

    static int z=3

    y++;

    z++;

    return (x+y+z);

    }


    正确答案:7 8 9
    7 8 9

  • 第15题:

    有以下程序: void fun(int *a,int i,int i) { int t; if(i<j) { t==a[i];a[i]=a[j];a[i]=t; i++; j--; fun(a,i,j); } } main() { int x[]={2,6,1,8),i; fun(x,0,3), for(i=0;i<4;i++) printf("%2d",x[i]); printf("\n"); } 程序运行后的输出结果是( )。

    A.1268

    B.8621

    C.8162

    D.8612


    正确答案:C
    解析:函数fun()中用了一个if语句,当数组下标i小于数组下标j时,交换数组元素a[i]和a[j]的值,并使i值加1,j值减1。其功能就是把数组a中从下标i到j的元素首尾互换。主函数中定义一个数组x,该数组有4个元素,接着调用fun(a,O,3),其中将a数组的第一个元素的下标0和最后一个元素的下标3传给了函数fun(),故执行完该函数后,数组a中的元素首尾互换,因此最后依次输出的数组a中值为8、1、6和2,所以,4个选项中选项C符合题意。

  • 第16题:

    请选出以下程序的输出结果includemain(){ int a[]={1,2,3,4},i;int x=0;for(i=0;i<4;i

    请选出以下程序的输出结果 #include<stdio.h> main() { int a[]={1,2,3,4},i; int x=0; for(i=0;i<4;i++) { sub(a,x);printf("%d",x);} printf("\n");} sub(s,y) int*s,y; { static int t=3; y=s[t];t--; }

    A.1 2 3 4

    B.4 3 2 1

    C.0

    D.4444


    正确答案:C
    解析:若指针s指向数组a,则s[t]可以引用数组a中下标为t的元素。注意:通过数组的首地址引用数组元素。

  • 第17题:

    下列程序的执行结果是( )。includeint fun(int b[],int n){ int i,r=1;for(i=0;i

    下列程序的执行结果是( )。 #include<iostream.h> int fun(int b[],int n) { int i,r=1; for(i=0;i<n;i++) r=r*b[i]; return r; } void main() { int x,a[]={1,2,3,4,5,6,7,8}; x=fun(a,3); cout<<x<<end1; }

    A.5

    B.6

    C.7

    D.8


    正确答案:B
    解析:由程序的main函数入手,调用fun函数,其中参数为数组a和3。fun函数的功能是for循环中由第一个数组元素开始到第三个元素进行累积,所以答案是“6”。

  • 第18题:

    下列程序用于打印出ASCⅡ字符,其析构函数内的语句应为【 】。 include inelude

    下列程序用于打印出ASCⅡ字符,其析构函数内的语句应为【 】。

    include<iostream. h>

    inelude<iomanip, h>

    template<class T>

    class Array

    {

    T * elems;

    int size;

    public:

    Array(int.s);

    ~Array()

    T& operator[](int)

    void perator=(T)

    };

    template<class T>

    Array<T>::Array(int s)

    size=s;

    elems=new T[size]

    for(int i=0;i<size;i++)

    elems[i]=0

    }

    template<celass T>

    Array<T>::~Array()

    {

    ______

    template <class T>

    T& Array<T>::operator[](int index)

    {

    return elems[index];

    }

    template<class T>

    void Array<T>::operator=(T temp)

    {

    for(int i=0;i<size;i++)

    elems[i]=temp;

    }

    void main()

    {

    int i,n=26;

    Array<int> arr1(n)

    Array<char> arr2(n)

    for(i=0;i<n;i++)

    { -.

    arr1[i]='a'+i;

    arr2[i]='a'+i;

    }

    cout<<"ASCII 字符"<<endl;

    for(i=0;i<n;i++)

    cout<<setw(8)<<arr1[i]<<setw(8)<<arr2[i]<<endl;

    }


    正确答案:delete elems;
    delete elems; 解析:注意,用new动态申请的内存在使用完成后一定要用delete释放。

  • 第19题:

    分析以下程序的执行结果【】。include class S{ int A[10]; public: int &operato

    分析以下程序的执行结果【 】。

    include <iostream. h>

    class S{

    int A[10];

    public:

    int &operator () (int);

    };

    int &S: :operator() (int x) {

    return A[x];

    }

    void main() {

    S a;

    int i,j;

    for (i=0; i<10; i++)

    a(i)=i*2;

    for (i=0; i<10; i++)

    cout<<a(i)<<" ";

    cout<<end1; }


    正确答案:0 2 4 6 8 10 12 14 16 18
    0 2 4 6 8 10 12 14 16 18

  • 第20题:

    有以下程序:include int fun(int x[], int n){ static int sum =0,i;for(i=0;i

    有以下程序: #include <stdio.h> int fun(int x[], int n) { static int sum =0,i; for(i=0;i<n;i ++ )sum + =x[i]; return sum;{ int a[] ={1,2,3,4,5},b[]={6,7,8,9},s=0; s = fun(a,5) + fun(b,4) ;printf( "%d \n",s);程序执行后的输出结果是( )。

    A.45

    B.50

    C.60

    D.55


    正确答案:C
    解析:静态变量是在编译时赋初值的,即只赋初值一次,在程序运行时它已有初值,以后每次调用函数时不再重新赋初值而只是保留上次函数调用结束时的值。在main函数中调用fun(a,5),执行for循环得到sum=0+a[0]+a[1]+a[2]+a[3]+a[4]=15;然后调用fun(b,4),因为sum为静态变量,再次调用时sum保留上次函数调用结束时的值,所以sum:15+b[0]+b[1]+b[2]+b[3]=45;返回sum的值,main函数中输出的s=15+45=60。

  • 第21题:

    以下for语句中不是死循环的是A.for(int i=0;i<1;++i;B.for(int i=0;;++i;C.for(int i=1;i>0;++i;

    以下for语句中不是死循环的是

    A.for(int i=0;i<1;++i;

    B.for(int i=0;;++i;

    C.for(int i=1;i>0;++i;

    D.for(;;);


    正确答案:A
    解析:for循环的一般格式为for(初始化部分;终止条件判断部分;迭代部分){循环体;}说明如下:for循环开始时,首先执行初始化操作,然后判断终止条件是否满足,如果满足,则执行循环体中的语句,最后执行迭代部分。完成一次循环后,重新判断终止条件。注意:在for语句中,如果省略了终止条件判断部分,并且在语句中没有break,或者是终止条件判断部分始终没有终止,都将出现死循环。注意:for循环语句可由while循环语句来代替。

  • 第22题:

    写出模板函数实现数值型数组元素值按从小到大排序的程序。

    include<iostream>

    using namespace std;

    template <class T>

    void sort(T b[],int n)

    {

    T temp;

    int i,j;

    T *a=new T[n];

    for (i=0;i<n;i++){a[i]=b[i];}

    for(i=0;i<n-1;i++)

    {

    for(j=i+1;j<n;j++)

    { if(a[i]>a[j])

    {temp=a[i];

    a[i]=a[j];

    a[j]=temp;

    }

    }

    }

    for(i=0;i<n;i++){cout<<a[i]<<" ";}

    cout<<endl;

    delete []a;

    }

    void main()

    {

    int i,n=6;

    int a[]={5,1,9,10,3,8};

    ____________;

    for(i=0;i<n;i++)

    {cout<<a[i]<<" ";}

    cout<<endl;

    }


    正确答案:
    template<classT><int>(a,6)

  • 第23题:

    以下程序的执行结果是______ include int f(int b[],int n) { int i,r=l; for(i=0;

    以下程序的执行结果是______

    include<iostrearn.h>

    int f(int b[],int n)

    {

    int i,r=l;

    for(i=0;i<n;i++)

    r=r*b[i];

    return r;

    }

    void main()

    {

    int x,a[]= {2,3,4,5,6,7,8,9};

    x=f(a,3):

    cout<<x<<endl;

    }


    正确答案:120
    120