冒泡排序对一维数组进行从大到小排序,一趟排序后会将数组中的()排到最后
第1题:
A.被排序的数据中含有多个相同排序码
B.被排序的数据已基本有序
C.被排序的数据完全无序
D.被排序的数据中的最大值和最小值相差悬殊
第2题:
本程序用冒泡法对数组a[]的元素从大到小排序,请在程序空白处填空。
第3题:
● 在直接插入排序、冒泡排序、简单选择排序和快速排序方法中,能在第一趟排序结束后就得到最大(或最小)元素的排序方法是 (43) 。
(43)
A. 冒泡排序和快速排序
B. 直接插入排序和简单选择排序
C. 冒泡排序和简单选择排序
D. 直接插入排序和快速排序
第4题:
有一组无序排列的整数数组如{1,5,7,9,2} 通过算法实现对该数组按从大到小的顺序进行排序,输出排序后的结果同时输入原始数组的数组索引下标,如输出排序结果为{9,7,5,2,1},输出原始数组索引下标为{3,2,1,4,0}。
第5题:
阅读以下算法说明,根据要求回答问题1~问题3。
[说明]
快速排序是一种典型的分治算法。采用快速排序对数组A[p..r]排序的3个步骤如下。
1.分解:选择一个枢轴(pivot)元素划分数组。将数组A[p..r]划分为两个子数组(可能为空)A[p..q-1]和A[q+1..r],使得A[q]大于等于A[p..q-1]中的每个元素,小于A[q+1..r]中的每个元素。q的值在划分过程中计算。
2.递归求解:通过递归的调用快速排序,对子数组A[p..q-1]和A[q+1..r]分别排序。
3.合并:快速排序在原地排序,故无需合并操作。
下面是快速排序的伪代码,请将空缺处(1)~(3)的内容填写完整。伪代码中的主要变量说明如下。
A:待排序数组
p,r:数组元素下标,从p到r
q:划分的位置
x:枢轴元素
i:整型变量,用于描述数组下标。下标小于或等于i的元素的值,小于或等于枢轴元素的值
j:循环控制变量,表示数组元素下标
第6题:
:A冒泡
B快速排序
C堆排序
D选择排序
第7题:
读下面的流程图,其最后结果是(7)。
A.将X,Y,z按从大到小的顺序排序
B.将X,Y,z按从小到大的顺序排序
C.将X,Y,Z中的最大值赋给W
D.将X,Y,Z中的最小值赋给W
第8题:
阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。
【说明】
下面一段程序从给定的数组b中找出值最小的元素,并输出该元素的数组下标、内存地址minaddr以及元素值本身。函数findmin负责在给定的数组中查找最小值,并返回最小值所在的内存地址,函数有三个参数:array是所要处理的数组;size是数组的大小;index负责从函数返回具有最大值的元素在数组中的数组下标。请填充空白,使其成为一个合乎要求的完整程序。
【程序】
//程序开始
include<iostream.h>
int *findmin(int *array, int size, int &index);
void main()
{
/****** 变量定义部分 ***********/
int b[10] = {34, 34, 23, 89, 1, 2, 13, 42, 5, 54};
(1);
int idx;
/******* 寻找最小值 ************/
minaddr = findmin(b, sizeof(b)/sizeof(int), idx);
/******* 输出最小值的有关信息 ************/
cout << "Min value index: "<<idx<<end1
<<"Min value address: "<<minaddr<<end1
<<"Min value: "<<(2)<<end1;
}
/******* 函数findmin的定义部分 ************
int *findmin(int *array, int size, int &index)
{
int min = 0;//max 是当前具有最小值的数组元素下标值
for(int i = 1;(3); i++)
{
if(array[i]<(4))
min = i;
}
(5);
return array + min;//返回最小值所在内存地址
}
第9题:
for(i=0;i</**/m-1/**/;i++)
if/**/(a[j]<a[j+1])/**/
a[j]=/**/a[j+1]/**/;
第10题:
类 myArray定义如下:
public class myArray
{
static int[] a = {21,42,16,31,23,47,35};
public void sortArray() //对数组从小到大进行排序
{ …… }
public int getMax() //返回最大的数组元素
{ …… }
public int getMin() //返回最小的数组元素
{ …… }
public float getAverage() //返回所有数组元素的平均值
{ …… }
public static void main(String[] args)
{ myArray myarray = new myArray();
myarray.sortArray();
System.out.println(myarray.getMax());
System.out.println(myarray.getMin());
System.out.println(myarray.getAverage());
}
在 main 方法中实现了数组元素最大值、最小值和平均值的输出。请编程实现 sortArray()、 getMax()、 getMin()、
getAverage()四个方法。
提示:排序完成以后,最大值即为最后一个数组元素,最小值为第一个数组元素。
请在 jsp 网页中利用脚本计算1*2*3*……*10 的值并输出。