网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
1、对于已排序的n个元素数组,如果使用主元排序法,将其逆序排列,则需要n-1次数据交换。
参考答案和解析
C
更多 “1、对于已排序的n个元素数组,如果使用主元排序法,将其逆序排列,则需要n-1次数据交换。” 相关考题
考题
插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入到已排序序列中的正确位置,InsertSort 类的成员函数sort()实现了插入排序算法,请将画线处缺失的部分补充完整。class InsertSort{public:InsertSort(int*a0,int n0):a(a0),n(n0){}//参数组首地址,n 是数组元素个数void sort(){//此函数假设已排离序列初始化状态只包含a[0],未排序序列初始为a[1]?a[n-1]for (int i=1;iint j;for( [14] j0;--j){if(ta[j-1])break;a[j]=a[j-1];}a[j]=t;}}protected:int*a,n;//指针a 用于存放数组首地址,n 用于存放数组元素个数};
考题
已知函数 void- sort(int Array[-1 int N的功能:采用选择排序法将具有N元素的整型数组Aray按由大到小排序元素,排序好的元素仍然放在数组Aray里面。例如:如果原来数组为”1432567,则排序后为”7654321″。編写该函数的实现代码,并要求编写main()函数,对实现函数的进行测试
请帮忙给出正确答案和分析,谢谢
考题
( 14 ) 插入排序算法的主要思想是 : 每次从未排序序列中取出一个数据 , 插入到已排序序列中的正确位置 。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; iint t=a[i];int j;for ( 【 14 】 ; j0; --j){if (t=a[j-1]) break;a[j]=a[j-1];}a[j]=t;}}protected:int *a, n; // 指针 a 用于存放数组首地址, n 用于存放数组元素个数};
考题
插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入已排序序列中的正确位置。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;}}}};
考题
插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入到己排序序列中的正确位置。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用于存放数组元素个数};
考题
按排序策略分类,冒泡排序属于(59)。对n个记录的文件进行排序时,如果待排序文件中的记录初始时为所要求次序的逆序,则冒泡排序过程中需要进行(60)次元素值的比较。(50)A.插入排序B.选择排序C.交换排序D.归并排序
考题
第二题 阅读以下说明和代码,填补代码中的空缺,将解答填入答题纸的对应栏内。
【说明】
对n个元素进行简单选择排序的基本方法是:第一趟从第1个元素开始,在n个元素中选出最小者,将其交换至第一个位置,第二趟从第2个元素开始,在剩下的n-1个元素中选出最小者,将其交换至第二个位置,依此类推,第i趟从n-i+1个元素中选出最小元素,将其交换至第i个位置,通过n-1趟选择最终得到非递减排序的有序序列。 问题:2.1 【代码】
#include
void selectSort(int data[ ],int n)
//对 data[0]~data[n-1]中的n个整数按非递减有序的方式进行排列
{
int i,j,k;
int temp;
for(i=0;i for(k=i,j=i+1;(1);(2)) //k表示data[i]~data[n-1]中最小元素的下标
if(data[j] if(k!=i) {
//将本趟找出的最小元素与data[i]交换
temp=data[i]; (4) ;data[k]=temp;
}
}
}
int main()
{
int arr[ ]={79,85,93,65,44,70,100,57};
int i,m;
m=sizeof(arr)/sizeof(int); //计算数组元素的个数,用m表示
(5); //调用selectSort对数组arr进行非递减排序
for((6);i printf(“%d\t”,arr[i]);
printf(“\n”);
return 0;
}
考题
关于冒泡排序的比较次数和排序趟数描述正确的是()。A、N个记录最多N-1趟排序即可完成B、N个记录最少比较N-1次,可完成排序,这是记录完全有序的情况C、N个记录最多比较N*(N-1)/2次可完成排序,这是记录完全逆序的情况D、在一趟排序中若无记录交换,就会停止排序
考题
排序的方法有很多种,()法从未排序序列中依次取出元素,与已排序序列中的元素作比较,将其放入已排序序列的正确位置上。()法从未排序序列中挑选元素,并将其依次放入已排序序列的一端。交换排序是对序列中元素进行一系列比较,当被比较的两元素为逆序时,进行交换;()和()是基于这类方法的两种排序方法,而()是比()效率更高的方法;()法是基于选择排序的一种方法,是完全二叉树结构的一个重要应用。
考题
多选题关于冒泡排序的比较次数和排序趟数描述正确的是()。AN个记录最多N-1趟排序即可完成BN个记录最少比较N-1次,可完成排序,这是记录完全有序的情况CN个记录最多比较N*(N-1)/2次可完成排序,这是记录完全逆序的情况D在一趟排序中若无记录交换,就会停止排序
考题
单选题每一趟排序都从未排序序列中依次取出一个元素依次与已排序序列中的元素进行比较,然后将其放在已排序序列中的合适位置,这种排序方法称为()。A
选择排序法B
插入排序法C
泡排序法D
堆积排序法
考题
单选题在所有排序方法中,关键字比较的次数与记录的初始排列次序无关的是__(1)__。从未排序序列中依次取出元素与已排序序列(初始时为空)中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为__(2)__。设有1000个无序的元素,希望用最快的速度挑选出其中前10个最大的元素,最好选用__(3)__排序法。空白(1)处应选择()A
希尔排序B
起泡排序C
插入排序D
选择排序
考题
填空题排序方法有许多种,()法从未排序的序列中依次取出元素,与已排序序列(初始时为空)中的元素作比较,将其放入已排序序列的正确位置上;()法从未排序的序列中挑选元素,并将其依次放入已排序序列(初始时为空)的一端; 交换排序方法是对序列中的元素进行一系列比较,当被比较的两元素逆序时,进行交换;()和()是基于这类方法的两种排序方法, 而()是比()效率更高的方法;()法是基于选择排序的一种排序方法,是完全二叉树结构的一个重要应用。
考题
判断题对于具有n个元素的序列采用堆积排序法进行排序,排序的总趟数为n-1。A
对B
错
热门标签
最新试卷