更多"【说明】数据排序。将给定的n个整数分别按照升序和降序进行排列。
c"的相关试题:
[简答题]【说明】
以下程序实现数据的排序,将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]+
[多项选择]【说明】
以下程序实现数据的排序,将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.prin
[单项选择]
采用插入排序算法对n个整数排序,其基本思想是:在插入第i个整数时,前i-1个整数已经排好序,将第i个整数依次和第i-1,i-2,…个整数进行比较,找到应该插入的位置。现采用插入排序算法对6个整数{5,2,4,6,1,3}进行从小到大排序,则需要进行______次整数之间的比较。对于该排序算法,输入数据具有______特点时,对整数进行从小到大排序,所需的比较次数最多。
现采用插入排序算法对6个整数{5,2,4,6,1,3}进行从小到大排序,则需要进行()次整数之间的比较。
A. 9
B. 10
C. 12
D. 13
[简答题]【说明】
有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。
【函数】
main( )
{
int number[20],n,m,i;
printf("the total numbers is:");
scanf("%d",&n);
printf("back m:");
scanf("%d",&m);
for(i=0;i<=n-1;i)
scanf("%d,",&number[i]);
(1) ;
for(i=0;i<=n-1;i)
printf("%d,",number[i]);
}
move(array,n,m)
int n,m,array[20];
{
int *p,array_end;
array_end= (2) ;
for(p=array[n-1]; (3) ;p--)
*p= (4) ;
*array=array_end;
m--;
if(m>0) (5) ;
}
[简答题]给定程序MODI1.C中fun( )函数的功能是:将n个无序整数从小到大排序。
请改正程序中的错误,使它能得出正确的结果。
#include<stdio.h>
#include<stdlib.h>
fun(int n,int *a)
int i,j,p,t;
for(j=0;j<n-1;j++)
p=j;
/**********found**********/
for(i=j+1;i<n-1;i++)
if(a[p]>a[i])
/**********found**********/
t=i;
if(p!=j)
t=a[j];a[j]=a[p];a[p]=t;)
putarr(int n,int *z)
int i;
for(i=1;i<= n;i++,z++)
printf("%4d",*z);
if(!(i%10))printf("/n");
printf("/n");
main( )
int aa[20]=(9,3,0,4,1,2,5,6,8,
10,7,n=11;
printf("/n/nBefore sorting %d numbers:/q",n);putarr(n,aa);
fun(n,aa);
printf("/nAfter sorting %d numbers:/n",n);putarr(n,aa);
[填空题]下列给定程序中fun( )函数的功能是:将n个无序整数从小到大排序。
请改正程序中的错误,使它能得出正确的结果。
注意;不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
fun(int n, int *a)
{ int i,j,p,t;
for (j=0;j<n-1;j++)
{ P=j;
/***************found*******************/
for(i=j+l;i<n-1;i++)
if (a[p]>a[i])
/***************found*******************/
t=i;
if (p!=j)
{t=a[j];a[j]=a[p];a[p]=t;}
}
}
putarr( iht n,int *z)
{int i;
for (i=l;i<=n;i++,z++)
{ printf("%4d",*z);
if (!(i%10)) printf("/n");
} printf ("/n");
}
main ( )
{int aa[20]={9,3,0,4,1,2,5,6,8,10,7},n=11;
clrscr( );
printf("/n/nBefore sorting %d numbers:/n",n); putarr(n,aa);
fun(n,aa);
printf("/nAfter sorting %d numbers:/n",n);putarr(n,aa);
}
[填空题]下列给定程序中fun( )函数的功能是:将n个无序整数从小到大排序。
请改正程序中的错误,使它能得出正确的结果。
注意;不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
fun(int n, int *a)
int i,j,p,t;
for (j=0;j<n-1;j++)
P=j;
/***************found*******************/
for(i=j+l;i<n-1;i++)
if (a[p]>a[i])
/***************found*******************/
t=i;
if (p!=j)
t=a[j];a[j]=a[p];a[p]=t;
putarr( iht n,int *z)
int i;
for (i=l;i<=n;i++,z++)
printf("%4d",*z);
if (!(i%10)) printf("/n");
printf ("/n");
main ( )
int aa[20]=9,3,0,4,1,2,5,6,8,10,7,n=11;
clrscr( );
printf("/n/nBefore sorting %d numbers:/n",n); putarr(n,aa);
fun(n,aa);
printf("/nAfter sorting %d numbers:/n",n);putarr(n,aa);
[简答题]【说明】
进行两个整数之间的比较,由考生通过输入窗口分别输入两个整数,程序比较出结果。例如:先后输入的两个数分别为25和36。
比较结果显示:
25!=36
25<36
25<=36
【Java代码】
import javax.swing.JOptionPane;
public class Java3
public static void main(String args[])
String (1) // 用户输入第1个字符串
secondNumber, // 用户输入第2个字符串
result; // 包含输出
int number1, // 比较的第1个数
number2; // 比较的第2个数
// 用户输入的第1个字符串
firstNumber =
JOptionPane. (2) ("Enter first integer:");
//读用户输入的第2个字符串
secondNumber =
JOptionPane.showlnputDialog("Enter second integer:");
将字符串类型转换成整数类型
number1= Integer. (3) (firstNumber);
number2= Integer.parselnt(secondNumber);
result= "":
if ( (4) )
result=number1+"=="+number2;
if (number1 != number2)
result=number1+"!="+number2;
if (number1<number2)
[单项选择]
对由n个记录所组成的有序关键码排序时,下列各常用排序算法的平均比较次数分别是:二路归并排序为 (1) ,冒泡排序 (2) ,快速排序为 (3) 。其中,归并排序和快速排序所需要的辅助存储分别是 (4) 和 (5) 。
1()
A. O(1)
B. O(nlog
2n)
C. O(n) D.O(n
2)
D. O(n(log
2n)2)
E. O(log
2n)
[填空题]阅读以下说明和C函数,填充函数中的空缺。
[说明]
已知两个整数数组A和B中分别存放了长度为m和n的两个非递减有序序列,函数Adjustment(A,B,m,n)的功能是合并两个非递减序列,并将序列的前m个整数存入A中,其余元素依序存入B中。例如:
| 合并前 | 合并后 |
数组A的内容 | 1,9,28 | 1,4,7 |
数组B的内容 | 4,7,12,29,37 | 9,12,28,29,37 |
合并过程如下:从数组A的第一个元素开始处理。用数组B的最小元素B[0]与数组A的当前元素比较,若A的元素较小,则继续考查A的下一个元素;否则,先将A的最大元素暂存入temp,然后移动A中的元素挪出空闲单元并将B[0]插入数组A,最后将暂存在temp中的数据插入数组B的适当位置(保持B的有序性)。如此重复,直到A中所有元素都不大于B中所有元素为止。
[C函数]
void Adjustment(int A[],intB[],int m,int n)
/*数组A有m个元素,数组B有n个元素*/
int k,temp;
for(i=0;i<m;i++)
if(A[i]<=B[0]) continue,
temp=______;/*将A中的最大元素备份至temp*/
/*从后往前依次考查A的元素,移动A的元素并将来自B的最小元素插入A中*/
for(k=m-1;______;k--)
A[k]=A[k-1];
A[i]=______;
/*将备份在七emp的数据插入数组B的适当位置*/
for(k=1;______&&k
B[k-1]=B[k];
B[k-1]=______;