C语言 - 冒泡排序法

C语言 - 冒泡排序法

/*本程序用于比较两种不同的冒泡排序法对同一个样本排序时的运算次数。程序随机生成了20组*/
/*样本,对于每一组样本,程序将会输出排序前的样本、排序后的样本、当前样本的运算次数统计*/
/*数据。程序会实时地把输出记录在本地文件D:\BubbleSort.txt中。同时,程序还为20组样本的*/
/*运算次数统计数据单独生成了一个记录文件副本D:\BubbleSortStatistic.txt            */
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <time.h>

int sornum1_inta[10000];//sort number,存储使用第一种冒泡排序法的样本(样本1)
int sornum2_inta[10000];
    //sort number,sornum1的副本,使用第二种冒泡排序法排序(样本2)
int smpnum_int = 20;//sample number,样本数
long long int asmnum1_ll , asmnum2_ll;//assignment number,赋值的次数
long long int comnum1_ll , comnum2_ll;//compare number,比较的次数
long long int allnum1_ll , allnum2_ll;//all number,总运算次数
FILE *res_fp;//result FILE pointer,记录输出结果的文件
FILE *stc_fp;//statistic FILE pointer,记录统计数据的文件

void prt1(void);
void sor1(void);
void prtsor1(void);
void prt2(void);
void sor2(void);
void prtsor2(void);
void prtstc(void);
void prtstc_f(void);
void prtstc_sf(void);

int main(int argc, char const *argv[])
{
    SetConsoleCP(65001);
    SetConsoleOutputCP(65001);
    srand((unsigned int)(time(NULL)));
    res_fp = fopen("D:\\BubbleSort.txt","w+");
    stc_fp = fopen("D:\\BubbleSortStatistic.txt","w+");
    while(smpnum_int--)
    {
        for (int maknum_i = 0; maknum_i < 10000; ++maknum_i)
            //make number,用于生成随机数组的循环
        
        {
            sornum1_inta[maknum_i] = sornum2_inta[maknum_i] = rand();
        }
        printf(".\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n");
        fprintf(res_fp , 
                ".\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n");
        prt1();
        printf(".\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n");
        fprintf(res_fp , 
                ".\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n");
        sor1();
        prtsor1();
        printf(".\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n");
        fprintf(res_fp , 
                ".\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值