作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/05/14 23:43:08
编一程序对2种排序方法进行比较:交换法、选择法、插入法、冒泡法四种方法选2.具 体比较方法是随机生成一
(1) 编一程序对2种排序方法进行比较:交换法、选择法、插入法、冒泡法四种方法选2.具体比较方法是随机生成一组(≥300个)的100以内的整数数据,用选定的2种排序方法进行排序.纪录排序过程中数据比较和交换的次数,输出比较结果.
编一程序对2种排序方法进行比较:交换法、选择法、插入法、冒泡法四种方法选2.具 体比较方法是随机生成一
#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; i0 && 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