问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

编一程序对2种排序方法进行比较:交换法、选择法、插入法、冒泡法四种方法选2。具 体比较方法是随机生成一

发布网友 发布时间:2022-07-14 08:01

我来回答

1个回答

热心网友 时间:2023-10-11 18:28

#include "stdio.h"
#include "time.h"
#include "stdlib.h"

void SimpleSelectSort(int arr[], int n, long *compare, long *swap);
void BubbleSort(int arr[], int n, long *compare, long *swap);
void GetRandomNumber(int arr[], int n, int max);

void main()
{
int i;
int max = 100;
int n = 300;
int arr[300];
long compare, swap;

GetRandomNumber(arr, n, max);

printf("Initial Array : \n");
for(i=0; i<n; i++)
{
if(i>0 && i%25==0)
printf("\n");
printf("%-3d", arr[i]);
}
printf("\n");

SimpleSelectSort(arr, n, &compare, &swap);
printf("After Simple Select Sorted\n");
printf("\tcompare : %ld\tswap : %ld\n", compare, swap);

BubbleSort(arr, n, &compare, &swap);
printf("After Simple Select Sorted\n");
printf("\tcompare : %ld\tswap : %ld\n", compare, swap);
}

/* 简单选择排序(选择类排序),记录比较次数和交换次数 */
void SimpleSelectSort(int arr[], int n, long *compare, long *swap)
{
int i, j, k;
int temp;

*compare = 0;
*swap = 0;

for(i=0; i<n-1; i++)
{
k = i;
for(j=i+1; j<n; j++)
if(++(*compare) && arr[j] < arr[k])
k = j;
if(k != i)
{
(*swap)++;
temp = arr[k];
arr[k] = arr[i];
arr[i] = temp;
}
}
}

/* 冒泡排序(交换类排序),记录比较次数和交换次数 */
void BubbleSort(int arr[], int n, long *compare, long *swap)
{
int i, j;
int temp;

*compare = 0;
*swap = 0;

for(i=0; i<n-1; i++)
for(j=0; j<n-i-1; j++)
if(++(*compare) && arr[j] > arr[j+1])
{
(*swap)++;
temp = arr[j-1];
arr[j-1] = arr[j];
arr[j] = temp;
}
}

/* 得到一组随机数(<max),存储在数组中 */
void GetRandomNumber(int arr[], int n, int max)
{
int i;
int temp;

srand(time(NULL));

for(i=0; i<n; i++)
arr[i] = rand() % max;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
电脑wifi已禁用怎么打开电脑无线网络禁用了怎么恢复 ...禁用网络在哪重开win7笔记本无线网络被禁用了怎么办 win7网络禁用怎么恢复 windows7网络被禁用怎么恢复 Win7系统本地连接禁用了怎么恢复Win7系统启动本地连接的两种方法图文... 梦见家人去世什么预兆 ...经缝针现在基本痊愈,一个月过去了现在就是小腿还不能贴大腿,最近感... 小腿缝针拆线三个月了表皮长好了里面的肉怎么有点带黑红色还有点白色... 小腿迎面骨掉快深宽都1厘米左右的肉。当时没缝针。已经20天了。天天... 运费和快递费各走 什么科目? 快递费用放什么科目 vb 比较交换排序法 VB中使用比较交换法把给定的十个数按从大到小的顺序排列。要求输出原数列和排序后的数列。 VB比较交换法 龙虾沙拉的做法 江苏常州市天宁区发生4.2级地震,未来几天是否还会有更大的地震发生? 车铣复合床是不是CNC呢,有什么不同 江苏会地震吗?- 问一问 蓝虎眼石怎么鉴别呀?谢谢您 蓝虎眼石 伊斯坦布尔的蓝眼睛的资料 南红玛瑙与和田玉哪个更具价值 【请问】谁知道海斗士全部有多少? 请问高手我这对是南疆石狮子头吗?大概价位?谢了 世界上禁止开设赌场的国家有哪些? 萝卜牛杂怎么做 接口格式:8N1/8E1/8o1 为什么最近oppo watch没有收款码? 求英文电影内容的简述。急。 drive back 高尔夫球的高尔夫英语 焦点变羊宏是什么? 焦点羊宏 按SHIFT羊焦点 不按羊当前目标 嗓子想堵了东西难受,吃点什么药? 好听的QQ炫舞情侣网名、团名和职业名 谁能给我一点好听的情侣网名不要太长的,,要在炫舞里用,,最好有清纯一点的感觉的 兰陵马尔代夫在哪里 萨内蒂是什么时候开始出名的? 萨内蒂最早在哪个俱乐部效力? 塔勒雷斯和老男孩主场与客场的区别? 有前罗马阿根廷射手巴特尔特的详细资料吗? 仿写句子的格式? 平安期货快期3怎么登不上,请输入动态口令是什么意思,登录失败,ctp,不合法登录? cad室内设计平面图练习 求室内设计平面CAD绘图练习. 求cad室内设计平面图 练习用 什么情况下不宜烧香拜佛? 我叔真死了,我梦见叔死,发丧很人头上带白布,我姐穿一身红,我手中给死人那了一个碗,这个梦怎么解? 小鸡模拟器能玩使命召唤吗? 夜神模拟器是免费的吗,我想用模拟器玩使命召唤? 铜料锻造或者失蜡法铸造戒指