1、对于已排序的n个元素数组,如果使用主元排序法,将其逆序排列,则需要n-1次数据交换。
第1题:
插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入已排序序列中的正确位置。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;
}
}
}
};
第2题:
插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入到己排序序列中的正确位置。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用于存放数组元素个数
};
第3题:
第4题:
对于具有n个元素的序列采用堆积排序法进行排序,排序的总趟数为n-1。
第5题:
排序的方法有很多种,()法从未排序序列中依次取出元素,与已排序序列中的元素作比较,将其放入已排序序列的正确位置上。()法从未排序序列中挑选元素,并将其依次放入已排序序列的一端。交换排序是对序列中元素进行一系列比较,当被比较的两元素为逆序时,进行交换;()和()是基于这类方法的两种排序方法,而()是比()效率更高的方法;()法是基于选择排序的一种方法,是完全二叉树结构的一个重要应用。
第6题:
冒泡排序N个记录需要N-1趟排序,就可以完成排序。
第7题:
对n个元素进行冒泡排序若某趟冒泡中只进行了()次元素间的交换,则表明序列已经排好序。
第8题:
冒泡排序(BubbleSort)如果一个数组有10个元素,那么要从小到大排列,利用冒泡排序法需要几趟比较过程()
第9题:
N个数进行冒泡排序需要N-1趟才能排序完毕
第10题:
N个记录最多N-1趟排序即可完成
N个记录最少比较N-1次,可完成排序,这是记录完全有序的情况
N个记录最多比较N*(N-1)/2次可完成排序,这是记录完全逆序的情况
在一趟排序中若无记录交换,就会停止排序
第11题:
n+1
n
n-1
n(n-1)/2
第12题:
第13题:
A.n+1
B、n
C、n-1
D、n(n-1)/2
第14题:
按排序策略分类,冒泡排序属于(59)。对n个记录的文件进行排序时,如果待排序文件中的记录初始时为所要求次序的逆序,则冒泡排序过程中需要进行(60)次元素值的比较。
(50)
A.插入排序
B.选择排序
C.交换排序
D.归并排序
第15题:
对n个元素进行冒泡排序,通常要进行n-1趟冒泡,在第j趟冒泡中共要进行()次元素间的比较。
Aj
Bj-1
Cn-j
Dn-j-1
第16题:
关于冒泡排序的比较次数和排序趟数描述正确的是()。
第17题:
采用下列排序算法对n个元素进行排序,其排序趟数肯定为n-1趟的排序方法有()。
第18题:
N个记录采用冒泡排序,最好情况比较N-1次。
第19题:
对n个不同的排序码进行冒泡排序,在元素无序的情况下比较的次数为()
第20题:
冒泡排序算法中降序排序指的是()
第21题:
对
错
第22题:
选择排序法
插入排序法
泡排序法
堆积排序法
第23题:
希尔排序
起泡排序
插入排序
选择排序
第24题:
对
错