1、方案设计:

我这次实验通过随机生成30000个随机数,把随机数存到数组中,用这同一组随机数据分别进行四种排序,直接插入排序、直接选择排序、冒泡排序和快速排序。还通过了调用txt文件把运算所需时间导出,分别输出各个算法所需用时并对用时时长再进行冒泡排序算出用时最短的算法。

2、程序代码:

#include <stdio.h>

#include 

#include

#include

#include 

#define N 30000

void Wrong() //输入错误

{

printf("\n语法错误,请重新输入!\n");

getchar();

}

void Disp(int a[]) //清屏

{

int i;

system("cls");

for(i=0; i

{

if((i-1)%10==9)

printf("\n");

printf("%-7d",a[i]);

}

}

void InsertSort(int a[],int p) //直接插入排序算法

int i,j,temp;

for(i=1; i

{

temp=a[i];

for(j=i; j>0&&a[j-1]>temp; j--)

a[j]=a[j-1];

a[j]=temp;

}

void SelectSort(int a[],int p)  //选择排序算法

{

int i,j,k;

for(i=0; i

{

k=i;

for(j=i+1; j<N; j++)

if(a[j]

k=j;

if(k!=i)

{

int temp;

temp=a[k];

a[k]=a[i];

a[i]=temp;

}

}

}

void BubbleSort(int a[],int p) //冒泡排序算法

{

int i,j,temp;

for (i=0; i

for (j=N-1; j>i; j--) //比较,找出本趟最小关键字的记录

if (a[j]<a[j-1])

temp=a[j]; //进行交换,将最小关键字记录前移

a[j]=a[j-1];

a[j-1]=temp;

}

void quicksort(int a[],int n,int p) //快速排序算法

{

int i,j,low,high,temp,top=-1;

struct node

{

int low,high;

} st[N];

top++;

st[top].low=0;

st[top].high=n-1;

while(top>-1)

{

low=st[top].low;

high=st[top].high;

top--;

i=low;

j=high;

if(low

temp=a[low];

while(i!=j)

{

while(itemp)j--;

if(i

{

a[i]=a[j];

i++;

}

while(i

if(i

{

比较排序算法的时间复杂度 c语言,c语言四种排序算法时间复杂度比较(10页)-原创力文档...相关推荐

  1. 每个c语言程序写完后 都要按照,c语言基础学习小结(习题总结)(5页)-原创力文档...

    书山有路勤为径 学海无涯苦作舟 一.思考题. 1.你如何向别人解释清楚什么是编程.什么是计算机语言? 2.什么是C语言? 二.解答题. 1.用C语言编写程序:求任意两个整数的和.如果是小数的话,要求输 ...

  2. C语言下取整下半个方括号,c语言易错知识点总结[工作范文](28页)-原创力文档...

    c语言易错知识点总结 篇一:c语言易错知识 C语言教学中学生容易出错的知识点解析 0引言 C语言是一种很灵活的语言,在程序调试过程中常常会 遇到一些难解决的问题,一般语法错误计算机能检测出来, 而逻辑 ...

  3. c语言求圆周率 . 4,C语言求圆周率π(三种方法)(4页)-原创力文档

    C语言求圆周率π(三种方法) 题目1) 利用公式①计求π的近似值,要求累加到最后一项小于10^(-6)为止.题目2) 根据公式②,用前100项之积计算π的值.题目1)提供了一种解法,题目2)提供了两种 ...

  4. c语言货架管理实验报告,商品货架管理实验报告(11页)-原创力文档

    西安郵電學院 数据结构课内实验报告 题 目: 商品货架管理 院系名称: 计算机学院 专业名称: 软件工程专业 班 级: 学生姓名: 学号(8位): 需求分析 商品货架管理:把商品货架看成一个栈,栈顶商 ...

  5. C语言数组测试函数,(完整word版)C语言数组与函数阶段测试题答案---(20200807070313)(8页)-原创力文档...

    } } C语言数组与函数阶段测试题答案 一.选择题( 18*2=36 分) 1. 在定义" int a[5][6]; "后,第 11个元素是 [ C ] A.a[2][5] B . ...

  6. x_html语言名词解释,第2章++XHTML标记语言(97页)-原创力文档

    第2章 XHTML标签语言 2.1 XHTML基础 2.2 段落和文字标签 2.3 列表标签 2.4 超级链接标签 2.5 插入图片标签 2.6 页面布局标签 2.7 框架标签 2.8 表单标签 2. ...

  7. C语言对p1口取反,单片机c语言编程基础(5页)-原创力文档

    单片机的外部结构: 1. DIP40双列直插: 2. P0,P1,P2,P3四个8位准双向I/O引脚:(作为I/O输入时,要先输出高电平) 3. 电源VCC(PIN40)和地线GND(PIN20): ...

  8. 两种语言的html文件,2. 第二章 HTML语言(一)(33页)-原创力文档

    ;;;2.1 HTML基本语法2.2 HTML文档基本结构2.3 HTML文档头部相关标签2.4 段落与文本格式化2.5 列表2.6 超链接 ;2.1 HTML基本语法HTML是一种标签式语言,通过使 ...

  9. aes c语言 逆列混合函数,c语言aes列混合和逆列混合的实现(3页)-原创力文档

    #include #include //函数声明 unsigned char xtime (unsigned char input); void mixcolum(unsigned char inpu ...

最新文章

  1. Nginx学习笔记(七) 创建子进程
  2. Flash 生命终止,HTML5能否完美替代?
  3. WSO2注册表安装简介
  4. 怎么安装python3.6.5_Centos7 安装Python3.6.5
  5. linux on android分区,android 分区大小 地址查看
  6. E/Trace: error opening trace file: No such file or directory
  7. 【重难点】【Java基础 05】说一说你平时遇到的异常、什么情景下会用到反射、反射的底层原理
  8. (进阶)LeetCode(766)——托普利茨矩阵(JavaScript)
  9. HBase数据模型解析和基本的表设计分析
  10. osx jni 开发 1
  11. 模拟(堆):USACO Jan11 瓶颈
  12. 云盒子linux版本,10分钟,搭建好属于自己的私有云盘系统
  13. 宇视录像机支持手机APP(EZView/智U)免账号添加操作步骤
  14. Spy++ —— 窗口、消息查看分析利器
  15. 略晓网:经验真的能换钱
  16. echarts-gl三维展示自定义地图
  17. Couch-to-5K 跑步计划
  18. [转]伽利略卫星导航系统2019年7月14日起的宕机事件
  19. 写文案,认准这几个APP就够了
  20. 《给中国学生的第三封信:成功、自信、快乐》

热门文章

  1. 【渝粤教育】电大中专会计电算化_1作业 题库
  2. android 保存文件_Android 数据库操作框架LitePal使用介绍(一)
  3. android studio简易记账本,Android记账本
  4. 导数,微分,偏导,全微分,方向导数,梯度
  5. 【MFC系列3】永远点不到的按钮
  6. 哪个app最费电_关于石墨烯养生地暖,业主最关心的几大问题,答案附上!
  7. php smtp发送附件,PHP:如何使用smtp设置发送带附件的电子邮件?
  8. struts2 mysql 乱码_struts2项目插入中文到mysql数据库乱码的解决方法
  9. linux终端lex程序运行,lex的简单使用
  10. android记事本添加图片功能,安卓手机上有什么便签app既可以写日记又可以添加照片?...