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

济南 规划 网站网站设计心得体会

济南 规划 网站,网站设计心得体会,企业网站seo工作,吐鲁番大型网站建设平台#x1f60f;★,:.☆(#xffe3;▽#xffe3;)/$:.★ #x1f60f; 这篇文章主要介绍常用排序算法。 学其所用#xff0c;用其所学。——梁启超 欢迎来到我的博客#xff0c;一起学习#xff0c;共同进步。 喜欢的朋友可以关注一下#xff0c;下次更新不迷路#x1… ★,°:.☆(▽)/$:.°★ 这篇文章主要介绍常用排序算法。 学其所用用其所学。——梁启超 欢迎来到我的博客一起学习共同进步。 喜欢的朋友可以关注一下下次更新不迷路 文章目录 :smirk:1. 算法介绍:blush:2. C实现 1. 算法介绍 排序算法是计算机科学中常见的一类算法用于将一组数据按照特定的顺序进行排列。下面介绍几种常见的排序算法 冒泡排序Bubble Sort 从待排序序列的第一个元素开始两两比较相邻元素的大小如果顺序不对则交换位置。每一轮结束后最大或最小的元素会移动到末尾。时间复杂度平均情况和最坏情况下为 O(n^2)最好情况下为 O(n)。空间复杂度O(1)。 插入排序Insertion Sort 将未排序序列的第一个元素插入已排序序列的正确位置。从第二个元素开始依次与前面的元素比较并插入到正确位置。时间复杂度平均情况和最坏情况下为 O(n^2)最好情况下为 O(n)。空间复杂度O(1)。 选择排序Selection Sort 每一轮从待排序序列中选择最小或最大的元素与当前位置交换。每一轮结束后当前位置之前的元素都是有序的。时间复杂度平均情况和最坏情况下为 O(n^2)。空间复杂度O(1)。 快速排序Quick Sort 选择一个基准元素将序列分为比基准小的元素和比基准大的元素。递归地对划分后的子序列进行快速排序。时间复杂度平均情况下为 O(nlogn)最坏情况下为 O(n^2)。空间复杂度平均情况下为 O(logn)最坏情况下为 O(n)。 归并排序Merge Sort 将序列递归地拆分成两个子序列对子序列进行排序然后合并两个有序子序列。使用分治法思想将排序问题分解为较小的子问题。时间复杂度平均情况下为 O(nlogn)。空间复杂度O(n)。 2. C实现 #include iostream #include cstdlib #include ctime// 冒泡排序 bubbleSort 两两比较 void bubbleSort(int arr[], int n) {for (int i 0; i n-1; i) {for (int j 0; j n-i-1; j) {if (arr[j] arr[j1]) {std::swap(arr[j], arr[j1]);}}} }// 选择排序 selectionSort 选最小值 void selectionSort(int arr[], int n) {for (int i 0; i n-1; i) {int minIndex i;for (int j i1; j n; j) {if (arr[j] arr[minIndex]) {minIndex j;}}std::swap(arr[i], arr[minIndex]);} }// 插入排序 insertionSort 依次成序 void insertionSort(int arr[], int n) {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;} }// 归并排序 mergeSort void merge(int arr[], int left, int mid, int right) {int n1 mid - left 1;int n2 right - mid;int* L new int[n1];int* R new int[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;int j 0;int 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;}delete[] L;delete[] R; }void mergeSort(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);} }// 快速排序 quickSort int partition(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;std::swap(arr[i], arr[j]);}}std::swap(arr[i1], arr[high]);return i1; }void quickSort(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);} }// 打印数组 void printArray(int arr[], int size) {for (int i 0; i size; i) {std::cout arr[i] ;}std::cout std::endl; }int main() {const int SIZE 10;// 生成随机整数数组int arr[SIZE];srand(time(0));for (int i 0; i SIZE; i) {arr[i] rand() % 100; // 生成 0 到 99 的随机数}std::cout Original array: ;printArray(arr, SIZE);// 使用冒泡排序进行排序bubbleSort(arr, SIZE);std::cout Array after bubble sort: ;printArray(arr, SIZE);// 使用选择排序进行排序selectionSort(arr, SIZE);std::cout Array after selection sort: ;printArray(arr, SIZE);// 使用插入排序进行排序insertionSort(arr, SIZE);std::cout Array after insertion sort: ;printArray(arr, SIZE);// 使用归并排序进行排序mergeSort(arr, 0, SIZE-1);std::cout Array after merge sort: ;printArray(arr, SIZE);// 使用快速排序进行排序quickSort(arr, 0, SIZE-1);std::cout Array after quick sort: ;printArray(arr, SIZE);return 0; }编译运行 g -o main main.cpp ./main以上。
http://www.pierceye.com/news/220008/

相关文章:

  • 下载网站源码聊城seo培训
  • 专用于做网站公司推广的方式有哪些
  • 网站如何规划c 手机网站开发模板
  • 哈尔滨网站建设优化公司室内设计网站
  • 厚街做网站的公司wordpress出现百度抓取404页面
  • 四川南充网站建设西安网站建设推广优化
  • 做企业门户网站都连连电商网站开发公司
  • 微商城网站建设价位公司要想做个网站这么弄
  • wordpress文章所属栏目关键词排名优化易下拉教程
  • 网站主题咋做免费网页模板素材网站
  • 网站建设对旅游意义公众号运营策划
  • 成都专业网站制作关于论文网站开发参考文献
  • 免费做代理郑州seo招聘
  • 做网站系统更新后wordpress
  • 兰州网站建站2024免费网站推广
  • 深圳模板建站企业网站出现搜索
  • app开发网站模板该网站正在紧急升级维护中
  • 公众号编辑器365保定seo推广
  • 陕西整站关键词自然排名优化外贸获客渠道有哪些
  • 网站策划需要具备什么福州高端建站
  • 域名注册没有网站美食网页设计素材图片
  • wordpress网站在哪里修改密码ps做网站要求高吗
  • 企业网站带商城源码Audiology wordpress
  • 星月教你做网站东营城乡建设局官网
  • 镇江网站建设开发旺店通erp系统
  • 体育直播网站建设深圳制作小程序
  • 手机微信管理系统搜索引擎优化的流程是什么
  • 壁纸公司网站源码做网站价格表
  • 潜江网站设计商务科技网站建设
  • 合肥企业网站制作网站开发公司简介