最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

C语言四种排序算法时间复杂度比较

来源:动视网 责编:小OO 时间:2025-09-25 16:38:23
文档

C语言四种排序算法时间复杂度比较

1、方案设计:我这次实验通过随机生成30000个随机数,把随机数存到数组中,用这同一组随机数据分别进行四种排序,直接插入排序、直接选择排序、冒泡排序和快速排序。还通过了调用txt文件把运算所需时间导出,分别输出各个算法所需用时并对用时时长再进行冒泡排序算出用时最短的算法。2、程序代码:#include#include#include#include#include#defineN30000v输入错误{语法错误,请重新输入!\\n");}voidDisp(inta[])//清屏{}voidIns
推荐度:
导读1、方案设计:我这次实验通过随机生成30000个随机数,把随机数存到数组中,用这同一组随机数据分别进行四种排序,直接插入排序、直接选择排序、冒泡排序和快速排序。还通过了调用txt文件把运算所需时间导出,分别输出各个算法所需用时并对用时时长再进行冒泡排序算出用时最短的算法。2、程序代码:#include#include#include#include#include#defineN30000v输入错误{语法错误,请重新输入!\\n");}voidDisp(inta[])//清屏{}voidIns
1、方案设计:

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

2、程序代码:

#include

#include

#include

#include

#include

#define N 30000

v输入错误

{

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

}

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

{

}

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

{

}

v选择排序算法

{

}

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

{

 比较,找出本趟最小关键字的记录

 进行交换,将最小关键字记录前移

}

v快速排序算法

{

}

double TInsertSort(int a[],int p)//计算直接插入排序算法用时

{

 用直接插入排序法用的时间为%f秒;",time);

 直接插入排序.txt

}

double TSelectSort(int a[],int p)//计算选择排序用时

{

 用直接选择排序法用的时间为%f秒;",time);

 直接选择排序.txt

}

double TBubbleSort(int a[],int p)//计算冒泡排序算法用时

{

 用冒泡排序法用的时间为%f秒;",time);

 冒泡排序.txt

}

double Tquicksort(int a[],int n,int p)//计算快速排序算法用时

{

 用快速排序法用的时间为%f秒;",time);

 快速排序.txt

}

void BubleSort(double a[]) //时间数组的冒泡排序

{

}

void menu()

{

 显示随机数\\n");

 直接插入排序\\n");

 直接选择排序\\n");

 冒泡排序\\n");

 快速排序\\n");

 时间效率比较\\n");

 请在上述序号中选择一个并输入:\\n");

}

void main()

{

    srand((int)time(NULL));     //随机种子

 谢谢使用!\\n");

 时间数组

 随机数.txt

 请按任意键继续!");

 请按任意键继续!");

 请按任意键继续!");

 请按任意键继续!");

 请按任意键继续!");

 排序这组数据较快的排序法是:\\n");

 直接插入排序:%f秒!\\n",TIMES[1]);

 直接选择排序:%f秒!\\n",TIMES[1]);

 冒泡排序:%f秒!\\n",TIMES[1]);

 快速排序:%f秒!\\n",TIMES[1]);

 直接插入排序:%f秒!\\n",TIMES[2]);

 直接选择排序%f秒!\\n",TIMES[2]);

 冒泡排序%f秒!\\n",TIMES[2]);

 快速排序%f秒!\\n",TIMES[2]);

 请按任意键继续!");

 请按任意键继续!");

}

3、运行结果与分析:

通过多次运行程序,均显示快速排序算法最快,时间复杂度最低,通过所学的知识来计算,快速排序平均时间复杂度是0(nlog2n),最好情况0(nlog2n),最坏情况0(n2),相对来说,这次实验符合理论规律。

文档

C语言四种排序算法时间复杂度比较

1、方案设计:我这次实验通过随机生成30000个随机数,把随机数存到数组中,用这同一组随机数据分别进行四种排序,直接插入排序、直接选择排序、冒泡排序和快速排序。还通过了调用txt文件把运算所需时间导出,分别输出各个算法所需用时并对用时时长再进行冒泡排序算出用时最短的算法。2、程序代码:#include#include#include#include#include#defineN30000v输入错误{语法错误,请重新输入!\\n");}voidDisp(inta[])//清屏{}voidIns
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top