小工具知识网

当前位置: 首页 > 行业知识 > 排序算法1:冒泡排序、快速排序、插入排序

行业知识

排序算法1:冒泡排序、快速排序、插入排序

2026-10-19 04:47:43 来源:互联网转载

���序算法:交换类排序,插入类排序、选择类排序、归并类排序

交换类排序:冒泡排序、快速排序

一、冒泡排序

#include #include #include typedef int ElemType;typedef struct{ElemType *elem; //整形指针,申请的堆空间的起始地址存入elem int TableLen; //存储动态数组里边元素的个数 }SSTable; void ST_Init(SSTable &ST,int len){ST.TableLen=len;ST.elem=(ElemType *)malloc(sizeof(ElemType)*ST.TableLen);int i;srand(time(NULL)); //随机数生成for(i=0;ii,外层是从0到n-1,运行的总次数是1+2+3+4+...+n-1,即O() 

空间复杂度:O(1),没有使用额外空间,不会因为n的变化而变化

如果数组本身有序,最好的时间复杂度是O(n)

二、快速排序

核心:分治思想

#include #include #include typedef int ElemType;typedef struct{ElemType *elem; //整形指针,申请的堆空间的起始地址存入elem int TableLen; //存储动态数组里边元素的个数 }SSTable; void ST_Init(SSTable &ST,int len){ST.TableLen=len;ST.elem=(ElemType *)malloc(sizeof(ElemType)*ST.TableLen);int i;srand(time(NULL)); //随机数生成for(i=0;i

上一篇:机房电脑qq在哪里?

下一篇:SteamUIDLL下载指南,一键获取,轻松解决文件需求!