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

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

{

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/356649.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三维漫游的实现

一、本文主要是展示一个demo,实现的是画一个三维的立方体,通过滑动屏幕来旋转方向,上下左右来移动。直接上代码: MainActivity:package com.example.zp.a3dword;import android.graphics.Bitmap;import android.graphi…

MySQL JDBC驱动程序如何处理准备好的语句

准备的语句类型 在研究《 高性能Java持久性》一书中的“ 语句缓存”一章时,我有机会比较了Oracle,SQL Server,PostgreSQL和MySQL处理预准备语句的方式。 感谢Jess Balint (MySQL JDBC驱动程序贡献者),他在…

Nodejs学习(三)-安装nodejs supervisor,提高点效率吧。

安装好了express准备写项目,可是发现随便改一下js都要使用npm start重新启动才能生效,这个很不好,搜索一下发现有这么一个模块supervisor。那就安装一下吧。 1.安装,这个必须是全局安装那就开始吧。 npm -g install supervisor 设…

网络语言不c,哪些网络用语不文明?

满意答案林昨末sk2013.02.26采纳率:47% 等级:11已帮助:8049人Q1. 你认为在网络上出现的不文明用语情况_B___?A.是人们宣泄情绪的一种重要方式 B.是当今社会的一个缩影,没有办法C.不应当提倡,应加大管理力…

android 无限旋转动画,android ——不停旋转动画

xml文件android:fromDegrees"359"android:toDegrees"0"android:duration"1000"android:repeatCount"-1"android:pivotX"50%"android:pivotY"50%"/>代码/开始旋转/public voidstartRotateAnimation(View view, …

九章算法强化班 - 课程大纲

第1章 FLAG算法面试难度提高?如何准备? 各类IT企业的面试算法难度及风格 如何解决中等难度以上的算法题 如果解决follow up问题 Two sum   1. Two sum follow up I   2. Two sum follow up II - Triangle count Kth largest element   1. 第…

JavaOne演讲者选择了您不应该错过的10个会话

确保您的会议安排中包含这些JavaOne会话 JavaOne 2015从这个星期日开始,数百个会话同时进行,因此很难筛选所有会话并选择要参加的会话。 这就是为什么我们邀请5位我们最喜欢的JavaOne发言人让我们了解他们的会议,并选择他们最期待的会议。 好…

谷歌发布最新版安卓Android,谷歌正式除名华为,安卓12华为首发无望,但鸿蒙将迎难顶上!...

原标题:谷歌正式"除名"华为,安卓12华为首发无望,但鸿蒙将迎难顶上!前几天谷歌正式发布了新一代的安卓12系统。这也是安卓的第十二个大更新版本,从安卓1.0发布的2008年算起,安卓系统已经走过13个年…

android sd卡 格式化 rom,Android开发之获取SD卡及手机ROM容量的方法

本文实例讲述了Android获取SD卡及手机ROM容量的方法。分享给大家供大家参考,具体如下:这里通过一个简单的小例子,来获取SD卡的容量和手机ROM的容量,代码如下:package com.urovo.sdcardspace;import java.io.File;impor…

未知的生成错误 因为没有预加载,所以无法解析程序集 GalaSoft.MvvmLight

使用wpf开发时,在ViewModel中引用了DevExpress注册的GalaSoft.MvvmLight命名空间,使用其ViewModelBase,在View界面中绑定事件时出现错误: 错误 13 未知的生成错误“因为没有预加载,所以无法解析程序集“GalaSoft.MvvmL…

maven原型_Maven原型创建技巧

maven原型我最近需要为姜黄SOA项目创建一些Maven原型。 对于不了解的人来说, Maven原型是一种基于一些预先罐装的项目模板生成项目的方法。 对于当前的姜黄SOA原型,它将创建一个多模块Maven项目,其中包含Interface和Service项目以及基本的WSD…

android 副mic测试,【收藏】Android Audio Framework CTS Verifier 测试方法

This new suite of tests requires human intervention and some external hardware including a Loopback Plug, a USB reference microphone and external speakers. For devices without 3.5 mm (⅛”) headset port, the user will be able to skip the test and mark it a…

python的数与字符串

数的类型: >>符号整数型(int):0、1、-1 >>长整型(long):88888888、999999999 >>浮点型(float):2.77777、3.4445544 >>布尔型(bool):True、False >>复数型(complex):42j、-92…

Java在几乎所有方面都可以胜任本机响应

我与一位同事讨论了Java与JavaScript的话题,这是一个有问题的话题。 然后,他提到React Native多么出色,我决定我必须研究一下,也许要为Codename One掌握一些想法…… 那里有一些不错的主意,但是它们都不是革命性的或例…

魅蓝android底层是什么,魅蓝E2的手机系统是什么

魅蓝E2的手机系统是什么魅蓝E2的手机系统是Flyme 6系统。魅蓝E2搭载了基于YunOS底层深度定制的Flyme 6系统,相交于Flyme 5系列,Flyme 6拥有更轻巧明快的设计元素,辅以让人称颂的人工智能技术One Mind,可以有效保障魅蓝E2日常使用流…

android夜间模式揭露动画,Android Material Design系列之夜间模式

今天我们讲讲夜间模式的实现,这篇文章的名字应该叫:《Android Material Design系列之夜间模式》。在Android 5.0 之后,实现夜间模式并非很难了,支持的5.0库提供了非常简单的实现方式。不信,你就往下看。首先说&#xf…

reader dc

https://get.adobe.com/cn/reader/otherversions/转载于:https://www.cnblogs.com/zengkefu/p/5981109.html

jboss drools_JBoss Drools –入门

jboss drools这篇文章是关于我如何掌握JBoss Drools的 。 其背后的原因是:SAP收购了我公司当前的规则引擎,而Drools是我们将寻找的另一种选择,只要有人有能力提高概念验证的能力。 尽管似乎有大量的文档,但是我总是会通过示例来发…

Android开发环境(IDE)

一:Eclipse 1、装JDK; 2、装Eclipse;//应与JDK同为32/64位。 3、装ADT; 4、装android sdk; 推荐下载ADT bundle包(包含Eclipse,Android SDK Manager,sdk)。此Eclipse已经…

华为荣耀30pro鸿蒙内测版,荣耀手机用户放心了 消息称荣耀30 Pro正在内测华为鸿蒙OS...

2021-5-11 13:12【天极网手机频道】鸿蒙OS2.0手机版目前正在大规模开发者公测阶段,有消息称6月份将开始大规模向华为手机用户推送。而对于不少荣耀手机用户来讲,他们也十分期待体验鸿蒙OS,但荣耀品牌已经与华为品牌分离,这让不少荣…