网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

在if语句中(A处)添加适当的条件完成以下冒泡排序(由小到大排序)。 void BubbleSort(int []R) { for (int i=R.length; i>1; i--) { //i表示趟数,最多n-1趟 for (int j=1; j<i; j++) { if (A ) { //发生逆序 int temp=R[j]; R[j]=R[j-1]; R[j-1]=temp; } } } }

A.R[j] < R[j-1]

B.R[j] > R[j-1]

C.R[j] == R[j-1]

D.R[j] != R[j-1]


参考答案和解析
elif
更多 “在if语句中(A处)添加适当的条件完成以下冒泡排序(由小到大排序)。 void BubbleSort(int []R) { for (int i=R.length; i>1; i--) { //i表示趟数,最多n-1趟 for (int j=1; j<i; j++) { if (A ) { //发生逆序 int temp=R[j]; R[j]=R[j-1]; R[j-1]=temp; } } } }A.R[j] < R[j-1]B.R[j] > R[j-1]C.R[j] == R[j-1]D.R[j] != R[j-1]” 相关考题
考题 ●试题四阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】函数QuickSort是在一维数组A[n]上进行快速排序的递归算法。【函数】void QuickSort(int A[],int s,int t){int i=s,j=t+1,temp;int x=A[s];do{do i++;while (1) ;do j--;while(A[j]x);if(ij){temp=A[i]; (2) ; (3) ;}}while(ij);A[a]=A[j];A[j]=x;if(si-1) (4) ;if(j+1t) (5) ;}

考题 ( 20 )有如下程序段int i =0, j=1;int & r=i ; // ①r =j; // ②int*p= & i ; // ③*p= & r ; // ④基中会产生编译错误的语句是A ) ④B ) ③C ) ②D ) ①

考题 插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入已排序序列中的正确位置。Insert类的成员函数sort()实现了插入排序算法,请填空。class Insert{public:Insert(int*b0,int n0):b(b0),n(n0){};//参数b0是某数组首地址,n是数组元素个数void sort(){//此函数假设已排序序列初始化状态只包含b[0],未排序序列初始为b[1]…b[n-1]for(int i=1;i<n;++i){int t=b[i];int j;for(______;j>0;--j){if(t>=b[j-1])break;b[j]=b[j-1];b[j]=t;}}}};

考题 选择排序的基本思想是从序列中选出最小值,将它放在前面第0位置:然后在剩下的数中选择最小值,将它放在前面第 1位置,依此类推。请在程序的每条横线处填写一条语句,使程序的功能完整。注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。public class SelectSort{public static void main(String args [ ]){int i,j;int a[ ]={30,1,-9,70,25}int size=a.length;for(i=0;_____________________i++)for (j=i+1;_______________j++)if(a[i]>a[j]){int temp=a[i];______________a[j]=temp;}for(i=0;i<size;i++)System.out.println(a[i]+ "" );}}

考题 () 下面是一趟插入排序的程序, 把R[i+1]插入到R[1..i]的适当位置 R[0] = R[i + 1]; j = i; while ( R[j] >R[0] ) { R[j + 1] = R[j]; j = j - 1; } R[j + 1] = R[0];问题:(15分) 请用路径覆盖方法为它设计足够的测试用例(while循环次数为0次、1次、2次)。

考题 有如下程序段int i=0,j=1;int r=i; //①r=j; //②int*p=i; //③*p=r; //④其中会产生编译错误的语句是A.④B.③C.②D.①

考题 请完成下列Java程序:查找一个矩阵中的鞍点,对于一个二维数组中的鞍点,该点位置上的元素在该行上最小,在该列上最大,也可能没有鞍点。数组大小为4行5列。注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。public class ex30_2 {public static void main(String[] args) {int i, j, flag,m=4,n=5;int[] min=new int [4];int[] max=new int [5];int r[] []={{2,5,6,7,9},{32,65,2,78,12},{1,8,5,96,4},{5,3,21,73,23}};flag=0;for (i=0; i<m; i++) {//获取元素在该行上最大min[i]=r[i] [0];for (j=1; j<n; j++)if(r[i] [j]<min[i])___________________;}for (j = 0; j <n; j ++ ) { //获取同一元素在该列上最大max[j]=r[0] [j];for(i=l;i<m;i++)if(r[i] [j]>max[j])_______________________}for(i=0;i<m;i++)for(j=0;j<n;j++)if(min[i]==max[j]){System.out.print("("+i+", "+j+") : "+r[i] [j]);flag=1;}if(flag==0)System.out.println("没有鞍点!");}}

考题 阅读下列Java程序和程序说明, 将应填入(n)处的字句写在答题纸的对应栏内。【说明】数据排序。将给定的n个整数分别按照升序和降序进行排列。class SortInt_1{int i, j, k, temp;void SortInt(int a1, a2[]){//升序排序for(i=0; i<a1-1; i++){k=i;for(j=i+1 ;j<a1 ;j++)if ((1)) k=j;if(k!=i){temp=a2[i];a2[i]=a2[k];a2[k]=temp;}}}}class Sortlnt_2 (2){int i, j, k, temp;void Sortlnt(int a1,a2[]){//降序排序for(i=0;i<a1-1 ;i++) {k=i;for(j=i+1 ;j<a1 ;j++)if ((3)) k=j;if(k!=i){temp=a2[i];a2[i]=a2[k];a2[k]=temp;}}}}Class TestOverLoad {Public static void main(String args[]){int a[]={10,55,100,35,87,90,100,16};Sortlnt_1 newlnt1=(4);Newlnt1. SortInt(a. length, a);//调用SortInt_1类的方法System. out. println("升序排列的数据");For(int i=0;i<8;i++)System. out. print(a[i]+" ");system. out. println();SortInt_2 newInt2=new sortint_2(); //创建类SortInt_2的对象(5);System. out. println("降序排列的数据: ");For(int i=0;i<8;i++)System. out. print(a[i]+" ");}}

考题 阅读下列C程序和程序说明,将应填入(n)处的字句写在对应栏内。【说明】下面是一个用C编写的快速排序算法。为了避免最坏情况,取基准记录pivot时,采用从left、right和mid=[(left+right)/2]中取中间值,并交换到right位置的办法。数组a存放待排序的一组记录,数据类型为T,left和right是待排序子区间的最左端点和最右端点。void quicksort (int a[], int left, int right) {int temp;if (left<right) {hat pivot = median3 (a, left, right); //三者取中子程序int i = left, j = right-1;for(;;){while (i <j a[i] < pivot) i++;while (i <j pivot < a[j]) j--;if(i<j){temp = a[i]; a[j] = a[i]; a[i] = temp;i++; j--;}else break;}if (a[i] > pivot){temp = a[i]; a[i] = a[right]; a[right] = temp;}quicksort( (1) ); //递归排序左子区间quieksort(a,i+1 ,right); //递归排序右子区间}}void median3 (int a[], int left, int right){ int mid=(2);int k = left;if(a[mid] < a[k])k = mid;if(a[high] < a[k]) k = high; //选最小记录int temp = a[k]; a[k] = a[left]; a[left] = temp; //最小者交换到 leftif(a[mid] < a[right]){temp=a[mid]; a[mid]=a[right]; a[right]=temp;}}消去第二个递归调用 quicksort (a,i+1,right)。 采用循环的办法:void quicksort (int a[], int left, int right) {int temp; int i,j;(3) {int pivot = median3(a, left, right); //三者取中子程序i = left; j = righi-1;for (;; ){while (i<j a[i] < pivot)i++;while (i<j pivot <a[j]) j--;if(i <j) {temp = a[i]; a[j]; = a[i]; a[i]=temp;i++; j--;}else break;}if(a[i]>pivot){(4);a[i]=pivot;}quicksoft ((5)); //递归排序左子区间left = i+1;}}

考题 本程序用冒泡法对数组a[]的元素从大到小排序,请在程序空白处填空。 void bubble(int a[],int n) {int i,j,max,temp; max=n-1; do{j=0; for(i=0;i<max;i++) if(a[i]<a[i+1]) {temp=a[i];a[i]=a[i+1];a[i+1]=temp; j=i; } max=j; }while(( )); }

考题 阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。【说明】函数QuickSort是在一维数组A[n]上进行快速排序的递归算法。【函数】void QuickSort( int A[ ],int s,int t){ int i=s,j=t+1,temp;int x=A[s];do{do i ++ ;while (1);do j -- ;while(A[j]>x);if(i<j){temp=A[i];(2);(3);}}while(i<j);A[a] =A[j];A[j] =x;if(s<i-1) (4);if(j+1<t) (5);}

考题 有以下程序:include void f(int a[],int i, int j){int t; if(i 有以下程序: #include <stdio.h> void f(int a[],int i, int j) { int t; if(i<j) { t=a[i];a[i]=a[j];a[j]=t; f(a,i+1,j-1); } } main() { int i,aa[5]={1,2,3,4,5}; f(aa,0,4); for(i=0;i<5;i++) printf("%d,",aa[i]);printf("\n"); } 执行后的输出结果是( )。A.5,4,3,2,1,B.5,2,3,4,1,C.1,2,3,4,5,D.1,5,4,3,2,

考题 有如下程序段,其中会产生编译错误的语句是 inti=0,j=1; int &r=i; //① r=j; //② int * p=&i; //③ * p=&r; //④A.④B.③C.②D.①

考题 插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入到己排序序列中的正确位置。InsertSort类的成员函数sort()实现了插入排序算法。请将画线处缺失的部分补充完整。class InsertSort{public:InsertSort(int* a0,int n0):a(a0),n(n0){}//参数a0是某数组首地址,n是数组元素个数void sort(){//此函数假设已排序序列初始化状态只包含a[0],未排序序列初始为a[1]…a[n-1]for(int i=1;i<n;++i){int t=a[i];int j;for(【 】;j>0;--j){if(t>=a[j-1])break;a[j]=a[j-1];}a[j]==t;}}protected:int*a,n;//指针a用于存放数组首地址,n用于存放数组元素个数};

考题 请完成下列Java程序。程序的功能是对数组进行冒泡排序。冒泡排序算法的基本思路是把当前数据序列中的各相邻数据两两比较,发现任何一对数据间不符合升序或降序关系则立即调换它们的顺序,从而保证相邻数据间符合升序或降序的关系。本题是进行升序排列。例如数组a[]={30,1,-9,70,25}则排序后为{-9 1 25 30 70}。注意:请勿改动main()主方法和其他已有的语句内容,仅在下划线处填入适当的语句。源程序文件代码清单如下:public class BubbleSort{public static void main(String args[]){int i,j;int a[]={30,1,-9,70,25};int n=a.length;System.out.print("排序前数组为:");for(i=0;i<n;i++)System.out.print(a[i]+" ");System.out.println();for(i=1;i<n;i++)for(j=0;______j++)if(a[j]>a[j+1]){int temp=a[j];______;a[j+1]=temp;}System.out.print("排序后数组为:");for(i=0;i<n;i++)System.out.print(a[i]+" ");}}

考题 阅读以下函数说明和Java代码,将应填入(n)处的字句写在对应栏内。【说明】以下程序实现数据的排序,将n个整数分别按照升序和降序进行排序,类SortInt_1实现升序排序,类SortInt_2实现降序排序。【Java代码】class SortInt_1{int i,i,k,temp;void SortInt(int a1,int a2[]){//升序排序for(i=0;i<a1-1;i++){k=i;for(j=i+1;j<a1;j++){if((1)) k=j;if(k !=i){temp=a2[i];a2[i]=a2[k];a2[k]=temp;}}}}}class SortInt_2 (2) {int i,j,k,temp;void SortInt(int a1, int a2[]){//降序排序for(i=0; i<a1-1;i++){k=i;for(j=i+1;j<a1;j++){if((3))k=j;}if(k !=i){temp=a2[i];a2[i]=a2[k];a2[k]=temp;}}}}public class test{public static void main(String args[]){int a[]={10,55,100,35,87,90,100,16};SortInt_1 NewInt=(4);NewInt.SortInt(a.lenvh,a);//调用SortInt_1类的方法System.out.println("升序排列的数据: ");for(int i=0;i<a.length;i++){System.out.print(a[i]+" ");}System.out.println();NewInt=new SortInt_2();//创建类SortInt_2的对象(5);//调用相应方法进行降序排序System.out.println("降序排列的数据: ");for(int i=0;i<a.length;i++){System.out.print(a[i]+" ");}}}

考题 阅读以下说明及C++程序代码,将应填入(n)处的语句写在对应栏内。【说明】本程序的功能是实现任意两个大整数的乘法运算,例如:输入整数1:8934793850094505800243958034985058输入整数2:234584950989689084095803583095820923二者之积:209596817742739508050978890737675662366433464256830959194834854876 8534【C++代码】include<iostream.h>const int MAXINPUTBIT=100;const int MAXRESULTBIT=500;class LargeNumber{int i,j;int temp;int one[MAXINPUTBIT+1];int onebit; //one的位数int two[MAXINPUTBIT+1];int twobit; //two的位数int result[MAXRESULTBIT+1];public:LargeNumber();~LargeNumber();int inputone(); //出错返叫0,否则返回1int inputtwo(); //同上void multiplication(); //乘void clearresult(); //清零void showresult(); //显示};LargeNumber∷LargeNumber(){for(i=0;i<=MAXINPUTBIT;i++){one[i]=0;two[i]=0;}nebit=0;twobit=0;inputone();inputtwo();}LargeNumber∷~LargeNumber(){}int LargeNumber∷inputone(){char Number[MAXINPUTBIT+1];cout<<"Please enter one:";cin>>Number;i=0;j=MAXINPUTBIT;while(Number[i]!='\0')i++;nebit=i;for(i--;i>=0;i--,j--){if(int(Number[i])>=48int(Number[i])<=57)(1); //由字符转换为数字elsereturn 0;}return 1;}int LargeNumber∷inputtwo(){char Number[MAXINPUTBIT+1];cout<<"Please enter two:";cin>>Number;i=0;j=MAXINPUTBIT;while(Number[i]!='\0')i++;twobit=i;for(i--;i>=0;i--,j--){if(int(Number[i])>=48int(Number[i])<=57)two[j]=int(Number[i]-48); //由字符转换为数字elsereturn 0;}return 1;}void LargeNumber∷multiplication() //乘法{clearresult();int m;for(i=MAXINPUTBIT;i>=0;i--){temp=two[i];for(j=(2),m=MAXINPUTBIT;m>=0;m--,j--){result[j]+=temp*one[m];if(result[j]>9){result[j-1]+=result[j]/10;(3);}}&n

考题 有以下程序:include void sort(int L[],int n){ int j, k, flag, temp; flag=n-1; 有以下程序: #include <iostream.h> void sort(int L[],int n) { int j, k, flag, temp; flag=n-1; while (flag>O) { k=flag-1; flag=O; for (j=O; j<=k; j++) { if(L[j]>L[j+1]) {A.123B.3210C.2130D.1230

考题 有如下程序段: int i=0,J=1; nt&r=i;//④ ’ r=j;//② int * P=i;//③ * P=r;//④ 其中会产生编译错误的语句是( )。A.④B.③C.②D.①

考题 阅读以下说明,将应填入(n)处的字句写在答卷纸的对应栏内。【说明】下面的程序为堆排序程序,其中函数adjust(i,n)是把以R[i](1≤i≤┕i/2┙)为根的二叉树调整成堆的函数,假定R[i]的左、右子树已经是堆,程序中的,是在主函数中说明的结构数组,它含有要排序的n个记录。【程序】Void adjust(i,n)Int i,n;{iht k,j;element extr;extr=r[i];k=i;j=2*i;while (j<=n ){if ((j<n) (r[j].key<r[j+1].key))(1);if (extr. key<r[j].key){r[k]=r[j];k=j;(2);}else(3);}r[k]=extr;}/*让i从┗i/2┛逐步减到1, 反复调用函数adjust, 便完成建立初始堆的过程。*/void heapsort (r,n)list r;int n;{int i,1;element extr;for (i=n/2;i>=1;- -i)(4); /* 建立初始堆*/for (k--n;k>=2;k- -){extr=r[1];r[1]=r[k];r[k]=extr;(5);}}

考题 有如下程序段: int i=0,J=1; intr=i;//① r=j;//② int*P=i;//⑧ *P=&r;//④ 其中会产生编译错误的语句是( )。A.④B.③C.②D.①

考题 以下程序的输出结果是 ______。includevoid main(){ inti,j;for(j=10;j 以下程序的输出结果是 ______。 #include<iostream.h> void main(){ int i,j; for(j=10;j<=11;j++){ for(i=9;i<j:j++) if(!(j%i))break; if(i>j-1)cout<<j<<" " ; } }A.11B.10C.10 11D.9

考题 本题的功能是用冒泡法对数组元素arr[]={30,1,-9,70)进行从小到大排列。冒泡法排序是比较相邻的两个元素的大小,然后把小的元素交换到前面。public class javal{public static void main(String[]args){int i,j;int arr[]={30,1,-9,70);int n= ;for(i=0;i<n-1;i++){for(j=i+1;j<n;j++){if(arr[i]>arr[j]){int temp=arr[i];;;}}}for(i=0;i<n;i++)System.out.print(arr[i]+"");}}

考题 写出模板函数实现数值型数组元素值按从小到大排序的程序。includeiostreamusing namespace std;template class Tvoid sort(T b[],int n){T temp;int i,j;T *a=new T[n];for (i=0;in;i++){a[i]=b[i];}for(i=0;in-1;i++){for(j=i+1;jn;j++){ if(a[i]a[j]){temp=a[i];a[i]=a[j];a[j]=temp;}}}for(i=0;in;i++){couta[i] ;}coutendl;delete []a;}void main(){int i,n=6;int a[]={5,1,9,10,3,8};____________;for(i=0;in;i++){couta[i] ;}coutendl;}

考题 完成下列折半插入排序算法。 Void binasort(struct node r[MAXSIZE],int n) {for(i=2;i=n;i++){ r[0]=r[i];low=1;high=i-1; while(low=high){ mid=(low+high)/2; if(r[0].key else low=mid+1 ; } for(j=i-1;j=low;j- -)r[j+1]=r[j] ; r[low]=() ; } }

考题 在下面冒泡排序算法中填入适当内容,以使该算法在发现有序时能及时停止。 bubble(R) Rectype R[n]; {int i,j,exchang; Rectype temp; i=1; do {exchang=False; for(j=n;j=¬¬i+1 ;j- -) if(R[j]

考题 填空题在下面冒泡排序算法中填入适当内容,以使该算法在发现有序时能及时停止。 bubble(R) Rectype R[n]; {int i,j,exchang; Rectype temp; i=1; do {exchang=False; for(j=n;j=¬¬i+1 ;j- -) if(R[j]

考题 填空题完成下列折半插入排序算法。 Void binasort(struct node r[MAXSIZE],int n) {for(i=2;i else low=mid+1 ; } for(j=i-1;j=low;j- -)r[j+1]=r[j] ; r[low]=() ; } }