编程实现使用冒泡排序法对具有12个数组元素的一维整型数组array[12] = {96,35,12,58,78,90,587,21,0,-65,106,52}按照由大到小的排序进行排序,输出排序前后的数组,并查找90是否在该数组中,若再该数组中,输出90在该数组中的位置,否则输出“90不在数组array中”,要求:使用指针在函数中实现排序和查找的功能,在主函数中调用这两个函数。
第1题:
此题为判断题(对,错)。
第2题:
阅读以下算法说明,根据要求回答问题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:循环控制变量,表示数组元素下标
第3题:
for(i=0;i</**/m-1/**/;i++)
if/**/(a[j]<a[j+1])/**/
a[j]=/**/a[j+1]/**/;
第4题:
有一组无序排列的整数数组如{1,5,7,9,2} 通过算法实现对该数组按从大到小的顺序进行排序,输出排序后的结果同时输入原始数组的数组索引下标,如输出排序结果为{9,7,5,2,1},输出原始数组索引下标为{3,2,1,4,0}。
第5题:
已知数据文件IN1.DAT和IN2.DAT中分别存有100个两位十进制数,并且已调用读函数readDat把这两个文件中的数存入数组a和b中,请考生编制一个函数jsVal,实现的功能是依次对数组a和b中的数按条件重新组成一个新数并依次存入数组C中,再对数组C中的数按从小大的顺序进行排序,最后调用输出函数writeDat把结果C输出到文件out.dat中。组成新数的条件:如果数组a和b中相同下标位置的数必须符合一个是偶数,另一个是奇数,则数组a中的数按二进制数左移八位后再加上数组b对应位置上的数,把这样组成的新数依次存入数组C中。
第6题:
第7题:
在Array类中,可以对一维数组中的元素进行排序的方法是()。
第8题:
在Java中,数组排序的方法是()
第9题:
以下PHP数组函数中,能取得数组键名的函数是()。
第10题:
冒泡排序对一维数组进行从大到小排序,一趟排序后会将数组中的()排到最后
第11题:
在返回数组中的所有值,可以使用array_value()函数()
第12题:
对数组里数据的排序可以用sort函数,如果排序效果非预期,可以给sort函数加一个排序函数的参数
reverse用于对数组数据的倒序排列
向数组的最后位置加一个新元素,可以用pop方法
unshift方法用于向数组删除第一个元素
第13题:
下面程序的功能是:用Array函数建立一个含有8个元素的数组,然后查找并在文本框Textl中输出该数组中各元素的最小值。请填空。
End Sub
第14题:
阅读下列说明、流程图和算法,将应填入(n)处的字句写在对应栏内。
【流程图说明】
下图所示的流程图5.3用N-S盒图形式描述了数组Array中的元素被划分的过程。其划分方法;以数组中的第一个元素作为基准数,将小于基准数的元素向低下标端移动,而大于基准数的元素向高下标端移动。当划分结束时,基准数定位于Array[i],并且数组中下标小于i的元素的值均小于基准数,下标大于i的元素的值均大于基准数。设数组A的下界为low,上界为high,数组中的元素互不相同。
【算法说明】
将上述划分的思想进一步用于被划分出的数组的两部分,就可以对整个数组实现递增排序。设函数int p(int Array[],int low,int high)实现了上述流程图的划分过程并返回基准数在数组Ar ray中的下标。递归函数void sort(int Array[],int L,int H)的功能是实现数组Array中元素的递增排序。
【算法】
void sort(int Array[],int L,int H){
if (L<H) {
k=p(Array,L,H);/*p()返回基准数在数组Array中的下标*/
sort((4));/*小于基准数的元素排序*/
sort((5));/*大于基准数的元素排序*/
}
}
第15题:
A.Array_keys
B.Array_values
C.Array_merge
D.Array_flip
第16题:
请编写一个函数void fun(int a [],int n),其中a为数组,n为数组a的长度。函数fun()的功能是冒泡排序法将数组a元素按从小到大的顺序排列,实现数组a的升序排列。
注意:部分源程序已存在文件PROC12.cpp中。
请勿修改主函数和其他函数中的任何内容,仅在函数fun()的花括号中填写若干语句。
文件PROC12.cpp的内容如下:
//PROC12. cpp
include <iostream>
using namespace std;
define MAX 100
void fun(int a[],int n);
int main ()
{
int a[MAX],n,i;
cout<<"Please enter the array size n:\n";
do {
cin>>n;
if (n>100)
cout<<"array size flowover! ReEnter a number(0-100)\n";
}while (n>100);
cout<<"Enter the array data:\n";
for (i=0; i<n; i++)
cin>>a [ii;
fun(a[],n);
for (i=0; i<n; i++)
cout<<a [i] <<" ";
cout<<end1;
return 0;
}
void fun(int a[ ],int n)
{
// * * * * * * * *
}
第17题:
函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数组XX中;请编制函数SortCharD,其函数的功能是:以行为单位对字符按ASCII码从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组XX中。最后main函数调用函数WriteDat把结果XX输出到文件out.dat中。 例:原文:dAe,BfC. CCbbAA结果:fedCBA.,bbCCAA原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。 注意:部分源程序存放在test.C文件中。 请勿改动主函数main、读数据函数ReadDat和输出数据函数WriteDat的内容。
第18题:
在Array类中,可以对一维数组中的元素进行排序的方法是()。
第19题:
在JavaScript中Array对象拥有的方法不包括()。
第20题:
对用数组存储的线性表(16,15,32,11,6,30),用快速排序算法进行由小到大排序,若排序下标范围为0~5,选择元素16作为支点,调用一趟快速排序算法后,元素16在数组中的下标位置为()
第21题:
程序调用自身的编程技巧称为什么()
第22题:
冒泡排序算法中降序排序指的是()
第23题:
第24题:
sort()数组排序
length()计算数组长度
concat()数组合并
reverse()数组元素反转