11问答网
所有问题
当前搜索:
无序数组中第k大的数
java里,几种排序方法各有什么优缺点?
答:
n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果:①初始状态:
无序
区为R[1..n],有序区为空。②第1趟排序 在无序区R[1..n]中选出关键字最小的记录R[
k
],将它与无序区的第1个记录R[1]交换,使R[1..1]和R[2..n]分别变为记录个数增加1个的新有序区和记录个数...
...利用选择排序法对输入
的数
进行从小到大排序
答:
你的程序逻辑有些问题,输入,排序,输出分开做,这样更明确,更清晰,代码如下:include <stdio.h>#include <stdlib.h>int main(){int a[5];int i, j, t;int min;// 输入printf("input 5 numbers:\n");for (i = 0; i<5; i++)scanf("%d", &a[i]);// 选择排序for (i = 0...
定义十元素的
无序
int类型
数组
,并以最优算法将其排序
答:
while (i < N - 1 && a[++i] < s); //直到找到元素比轴
大的
元素 while (j - 1 > -1 && a[--j] > s); //直到找到元素比轴小的元素 if (i >= j) //i>=j时跳出循环 { break;} //交换两个元素,比s大的在s右边,比s小的在右边 temp = a[i];a[i] = a[j...
什么叫做冒泡排序?
答:
针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对
数字
需要比较。具体如何来移动呢?让我们来看一个栗子:请点击输入图片描述 请点击输入图片描述 有8个
数组
成一个
无序
数列:5,8,6,3,9,2,1,7,希望从小到大排序。按照冒泡排序的思想,...
c语言的两种排序?
答:
for(
k
=j+1;k<=9;k++){ if(num[j]<num[k])//num[j]<num[k]{ temp=num[j];num[j]=num[k];num[k]=temp;} } } //用一个for循环来输出
数组中
排序好的数据 for(l=0;l<=9;l++){ printf("%d",num[l]);} return 0;} 2、冒泡排序法 要求输入10个整数,从大到小排序...
...法降序排序; (2)子函数插入一个整数data,仍为降
序序
列.
答:
if (
k
!=i){//若
无序
区最小元素不是(无序区)第一个元素,进行交换 Swap(r[i],r[k]); } }}void Insert(DataType r[],DataType data,int length)/*在原实际长度为length的
数组
上插入一个数据data*/{ r[length]=data; SelectSort(r,length+1);...
c++选择法排序和插入法排序比较 使用函数
答:
a[j]=
k
;}/*用中间变量k做交换*/ for(j=0;j<=9;j++)printf("%d\n",a[j]);system("pause");} /*插入法*/ /*插入法的的意思就和我们抓牌一样,把记录分为有序和
无序
两区。把无序区中的每个数“挨个”拿来和有序区
的数
比较。比有序区小的位置保持不变,
大的
话先挪动位置空出来...
第六大题的第一问希尔排序怎么排?
答:
="" 已知一组
无序
数据a[1]、a[2]、……a[n],需将其按升序排列。首先任取数据a[x]="" 作为基准。比较a[x]与其它数据并="" 排序,使a[x]排在数据的
第k
="" 位,并且使a[1]~a[k-1]中的每一个数="" 据a[x],然后采 用分治的策略分别对a[1]~a[k-1]和a[k+1]~a[n] ...
...2)待排序的元素的关键字为整数。其中
的数
答:
③第i趟排
序第
i趟排序开始时,当前有序区和
无序
区分别为R[1..i-1]和R[i..n](1≤i≤n-1)。该趟排序从当前无序区中选出关键字最小的记录R[
k
],将它与无序区的第1个记录R交换,使R[1..i]和R[i+1..n]分别变为记录个数增加1个的新有序区和记录个数减少1个的新无序区.这样,n个记录的文件...
学没多久c语言,这里的n~n-2是什么意思?
答:
应该是0–n-2吧,选择法排序,相当于1–n-1,两个数排一次,3个数排两次……
棣栭〉
<涓婁竴椤
2
3
4
5
6
7
8
9
10
11
涓嬩竴椤
其他人还搜