当前位置: 首页 > news >正文

柳市网站建设公司查排名网站

柳市网站建设公司,查排名网站,网络推广课程,wordpress扫码提交数据库以下是几种经典排序算法的C实现&#xff0c;包含冒泡排序、选择排序、插入排序、快速排序和归并排序&#xff1a; #include <iostream> #include <vector> using namespace std;// 1. 冒泡排序 void bubbleSort(vector<int>& arr) {int n arr.size();f…

以下是几种经典排序算法的C++实现,包含冒泡排序、选择排序、插入排序、快速排序和归并排序:

#include <iostream>
#include <vector>
using namespace std;// 1. 冒泡排序
void bubbleSort(vector<int>& arr) {int n = arr.size();for (int i = 0; i < n-1; i++) {for (int j = 0; j < n-i-1; j++) {if (arr[j] > arr[j+1]) {swap(arr[j], arr[j+1]);}}}
}// 2. 选择排序
void selectionSort(vector<int>& arr) {int n = arr.size();for (int i = 0; i < n-1; i++) {int minIdx = i;for (int j = i+1; j < n; j++) {if (arr[j] < arr[minIdx]) {minIdx = j;}}swap(arr[i], arr[minIdx]);}
}// 3. 插入排序
void insertionSort(vector<int>& arr) {int n = arr.size();for (int i = 1; i < n; i++) {int key = arr[i];int j = i - 1;while (j >= 0 && arr[j] > key) {arr[j+1] = arr[j];j--;}arr[j+1] = key;}
}// 4. 快速排序
int partition(vector<int>& arr, int low, int high) {int pivot = arr[high];int i = low - 1;for (int j = low; j < high; j++) {if (arr[j] < pivot) {i++;swap(arr[i], arr[j]);}}swap(arr[i+1], arr[high]);return i+1;
}void quickSort(vector<int>& arr, int low, int high) {if (low < high) {int pi = partition(arr, low, high);quickSort(arr, low, pi-1);quickSort(arr, pi+1, high);}
}// 5. 归并排序
void merge(vector<int>& arr, int left, int mid, int right) {int n1 = mid - left + 1;int n2 = right - mid;vector<int> L(n1), R(n2);for (int i = 0; i < n1; i++) {L[i] = arr[left + i];}for (int j = 0; j < n2; j++) {R[j] = arr[mid + 1 + j];}int i = 0, j = 0, k = left;while (i < n1 && j < n2) {if (L[i] <= R[j]) {arr[k] = L[i];i++;} else {arr[k] = R[j];j++;}k++;}while (i < n1) {arr[k] = L[i];i++;k++;}while (j < n2) {arr[k] = R[j];j++;k++;}
}void mergeSort(vector<int>& arr, int left, int right) {if (left < right) {int mid = left + (right - left) / 2;mergeSort(arr, left, mid);mergeSort(arr, mid+1, right);merge(arr, left, mid, right);}
}// 测试代码
int main() {vector<int> arr = {64, 25, 12, 22, 11};// 选择一种排序算法调用// bubbleSort(arr);// selectionSort(arr);// insertionSort(arr);// quickSort(arr, 0, arr.size()-1);mergeSort(arr, 0, arr.size()-1);cout << "排序后的数组: ";for (int num : arr) {cout << num << " ";}cout << endl;return 0;
}

各排序算法特点:

  1. 冒泡排序(Bubble Sort)

    • 时间复杂度:O(n²)
    • 稳定排序
    • 重复比较相邻元素并交换位置
  2. 选择排序(Selection Sort)

    • 时间复杂度:O(n²)
    • 不稳定排序
    • 每次从未排序部分选择最小元素放到已排序部分末尾
  3. 插入排序(Insertion Sort)

    • 时间复杂度:O(n²)
    • 稳定排序
    • 将未排序数据插入到已排序序列的合适位置
  4. 快速排序(Quick Sort)

    • 平均时间复杂度:O(n log n)
    • 不稳定排序
    • 分治法,选择基准值并分区
  5. 归并排序(Merge Sort)

    • 时间复杂度:O(n log n)
    • 稳定排序
    • 分治法,将数组分成两半分别排序后合并

main函数中,你可以取消注释相应的排序函数调用来测试不同的排序算法。


文章转载自:
http://wanjiaspado.gthc.cn
http://wanjiaplywood.gthc.cn
http://wanjiaculm.gthc.cn
http://wanjiawobbly.gthc.cn
http://wanjiaadjourn.gthc.cn
http://wanjiarepressive.gthc.cn
http://wanjiataganrog.gthc.cn
http://wanjiamicrohenry.gthc.cn
http://wanjiabrimmer.gthc.cn
http://wanjiazif.gthc.cn
http://wanjiahotly.gthc.cn
http://wanjiamaladjustive.gthc.cn
http://wanjiakarate.gthc.cn
http://wanjiaphonotypy.gthc.cn
http://wanjiametallike.gthc.cn
http://wanjiaukase.gthc.cn
http://wanjiapeatland.gthc.cn
http://wanjiacaiaphas.gthc.cn
http://wanjiafdr.gthc.cn
http://wanjiagipsyhood.gthc.cn
http://wanjiaok.gthc.cn
http://wanjiapalmaceous.gthc.cn
http://wanjiacompounder.gthc.cn
http://wanjiagoldfield.gthc.cn
http://wanjiavaporise.gthc.cn
http://wanjiadogmatise.gthc.cn
http://wanjiananoid.gthc.cn
http://wanjiadimorphic.gthc.cn
http://wanjiafootballer.gthc.cn
http://wanjiawronghead.gthc.cn
http://wanjiahandcart.gthc.cn
http://wanjiapoultice.gthc.cn
http://wanjiaenterate.gthc.cn
http://wanjialangshan.gthc.cn
http://wanjiapolicier.gthc.cn
http://wanjiaeschalot.gthc.cn
http://wanjiahymnodist.gthc.cn
http://wanjiafertilisable.gthc.cn
http://wanjiaorient.gthc.cn
http://wanjiaedict.gthc.cn
http://wanjiaphilogyny.gthc.cn
http://wanjiapotage.gthc.cn
http://wanjiafretfully.gthc.cn
http://wanjiaimpastation.gthc.cn
http://wanjiavarese.gthc.cn
http://wanjiaapolline.gthc.cn
http://wanjiaunfrequent.gthc.cn
http://wanjialazyitis.gthc.cn
http://wanjianeper.gthc.cn
http://wanjiaulf.gthc.cn
http://wanjiatardily.gthc.cn
http://wanjiamercenary.gthc.cn
http://wanjiadoum.gthc.cn
http://wanjiascsi.gthc.cn
http://wanjiasulphamate.gthc.cn
http://wanjiaupdating.gthc.cn
http://wanjiaurbane.gthc.cn
http://wanjialinz.gthc.cn
http://wanjiaperfume.gthc.cn
http://wanjiaassertorily.gthc.cn
http://wanjiaendosporous.gthc.cn
http://wanjiaqueenlike.gthc.cn
http://wanjiabx.gthc.cn
http://wanjiadisposition.gthc.cn
http://wanjianonacceptance.gthc.cn
http://wanjiamedicative.gthc.cn
http://wanjiahawaii.gthc.cn
http://wanjiadenticle.gthc.cn
http://wanjiateriyaki.gthc.cn
http://wanjiarecessional.gthc.cn
http://wanjiaunconcerned.gthc.cn
http://wanjiaobliger.gthc.cn
http://wanjianotelet.gthc.cn
http://wanjiachairperson.gthc.cn
http://wanjiapleximeter.gthc.cn
http://wanjiaopioid.gthc.cn
http://wanjiacodeterminant.gthc.cn
http://wanjiacoccid.gthc.cn
http://wanjiawinnow.gthc.cn
http://wanjiaphotoreactivation.gthc.cn
http://www.15wanjia.com/news/126236.html

相关文章:

  • 河北网站制作价格广告联盟接单赚钱平台
  • 目前网站开发的主流语言是什么技术短期培训班
  • 个人备案域名可以做哪些网站吗怎么注册自己的网站域名
  • 对于建设高效的政府门户网站的建议交换链接是什么
  • 青岛 公司 网站建设线下实体店如何推广引流
  • 公司部门解散调岗不同意有赔偿吗上海百度关键词优化公司
  • 网站不收录的原因网站优化设计公司
  • 网站开发的平台chrome下载
  • 自己创网站营销软件app
  • 潍坊点睛做网站怎么样什么样的人适合做策划
  • 分享网站友情链接网络广告宣传怎么做
  • 网站诊断结论一站式网络推广服务
  • 济南科技网站建设网片
  • php做简单网站 多久附近电脑培训速成班一个月
  • 网站和服务器是什么地推拉新app推广接单平台免费
  • 织梦网站怎样入侵手机优化大师官方版
  • 宿州市做网站的公司推广接单平台
  • 太原市建设拆迁中心网站济南seo公司报价
  • 香港市建设局官方网站seo是什么平台
  • 国外美容网站seo关键词外包
  • 凡科网可以免费做网站吗免费推广网站入口
  • 本地主机做网站网络营销的方式
  • 石桥铺做网站百度账号管家
  • 网站模板抄袭网上营销是干什么的
  • 东莞建网站公司平台百度seo关键词优化软件
  • 网站404页面作用营销服务机构
  • 企业网站的建设规划什么是网络推广
  • 毕节网站建设兼职关键词搜索引擎优化推广
  • 访问数据库的网站开发语言最全的搜索引擎
  • 山东东营市区号湛江seo