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

石景山网站制作网页设计的特点有哪些

石景山网站制作,网页设计的特点有哪些,龙岗网站建设公司电话,建筑人才网官网 北京文章目录 排序算法小结排序算法C实现 排序算法小结 C语言中常用的排序算法包括冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序。下面我们来一一介绍#xff1a; 冒泡排序#xff08;Bubble Sort#xff09;#xff1a;冒泡排序是通过比较相邻元素的大小进行排… 文章目录 排序算法小结排序算法C实现 排序算法小结 C语言中常用的排序算法包括冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序。下面我们来一一介绍 冒泡排序Bubble Sort冒泡排序是通过比较相邻元素的大小进行排序。如果当前元素比下一个元素大就交换它们两个的位置。重复这个过程直到最后最大的元素就会“冒”到数组的最后。然后再从头开始重复这个过程但是最后一个元素不再考虑。这个过程会一直进行直到没有元素需要交换也就是整个数组已经排序完成。冒泡排序的时间复杂度是O(n^2)。选择排序Selection Sort选择排序是每次从未排序的元素中选择最小或最大的元素放到未排序元素的开始位置直到所有元素都已排序。选择排序的时间复杂度也是O(n^2)。插入排序Insertion Sort插入排序的思路是将未排序的元素依次插入到已排序元素的适当位置。开始时第一个元素被认为已排序然后将第二个元素和它比较决定第二个元素在已排序元素中的位置然后再将第三个元素和已排序的元素比较依次进行。插入排序的时间复杂度是O(n^2)。快速排序Quick Sort快速排序是一种使用分治策略的排序算法。它的基本思想是选择一个基准元素将数组分为两部分一部分的元素都比基准元素小另一部分的元素都比基准元素大。然后对这两部分再分别进行快速排序。快速排序最坏的时间复杂度是O(n^2)但是在平均情况下快速排序的时间复杂度是O(n log n)。归并排序Merge Sort归并排序也是一种使用分治策略的排序算法。它的基本思想是将数组分为两半分别对它们进行归并排序然后将两个已排序的子数组合并成一个完整的已排序数组。归并排序的时间复杂度是O(n log n)。堆排序Heap Sort堆排序是基于二叉堆的一种排序方法。首先将数组构建成一个最大堆或最小堆然后依次移除堆顶的元素并调整堆以保持堆的性质直到堆为空此时数组已排序。堆排序的时间复杂度是O(n log n)。 总的来说这些排序算法各有各的优点和适用场景例如冒泡排序、选择排序和插入排序适用于小规模数据或者部分有序数据而快速排序、归并排序和堆排序通常适用于大规模数据排序。 排序算法C实现 #include stdio.h//冒泡排序 void bubbleSort(int arr[], int n) {int i, j;for (i 0; i n-1; i) {for (j 0; j n-i-1; j) {if (arr[j] arr[j1]) {int temp arr[j];arr[j] arr[j1];arr[j1] temp;}}} } //选择排序 void selectionSort(int arr[], int n) {int i, j, minIndex, temp;for (i 0; i n-1; i) {minIndex i;for (j i1; j n; j) if (arr[j] arr[minIndex]) {minIndex j;}temp arr[minIndex];arr[minIndex] arr[i];arr[i] temp;} } //插入排序 void insertionSort(int arr[], int n) {int i, key, j;for (i 1; i n; i) {key arr[i];j i - 1;while (j 0 arr[j] key) {arr[j 1] arr[j];j j - 1;}arr[j 1] key;} } //快速排序 int partition(int arr[], int low, int high) {int pivot arr[high];int i (low - 1);for (int j low; j high- 1; j) {if (arr[j] pivot) {i;swap(arr[i], arr[j]);}}swap(arr[i 1], arr[high]);return (i 1); } 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 merge(int arr[], int l, int m, int r) {int i, j, k;int n1 m - l 1;int n2 r - m;int L[n1], R[n2];for (i 0; i n1; i) {L[i] arr[l i];}for (j 0; j n2; j) {R[j] arr[m 1 j];}i 0;j 0;k l;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(int arr[], int l, int r) {if (l r) {int m l(r-l)/2;mergeSort(arr, l, m);mergeSort(arr, m1, r);merge(arr, l, m, r);} } //堆排序 void heapify(int arr[], int n, int i) {int largest i;int l 2*i 1;int r 2*i 2;if (l n arr[l] arr[largest]) {largest l;}if (r n arr[r] arr[largest]) {largest r;}if (largest ! i) {swap(arr[i], arr[largest]);heapify(arr, n, largest);} } void heapSort(int arr[], int n) {for (int i n / 2 - 1; i 0; i--) {heapify(arr, n, i);}for (int in-1; i0; i--) {swap(arr[0], arr[i]);heapify(arr, i, 0);} }
http://www.w-s-a.com/news/713490/

相关文章:

  • 网站维护的方式有哪几种该网站在工信部的icp ip地址
  • 中小企业服务中心网站建设做考勤的网站
  • 大连网站建设报价wordpress实用功能
  • 学校网站建设自查报告电脑网站制作教程
  • 适合推广的网站世界搜索引擎公司排名
  • 合肥网站建设费用ppt在哪个软件制作
  • 湖南省住房和城乡建设厅门户网站网站建设课程性质
  • 如何设计公司网站公司网站空间要多大
  • 建筑公司网站排名5G网站建设要多少个
  • seo怎样新建网站弹簧东莞网站建设
  • 在线做爰直播网站石家庄房产
  • 建筑网站哪里找拓者设计吧首页
  • 广州网站的建设wordpress注册数学验证码
  • 装修平台自己做网站有几个黄页名录网站开发
  • php网站的安全优势平面设计师培训
  • 乐清市网站建设设计重庆沙坪坝区
  • 什么是seo站内优化开发网页的工具有哪些
  • 文化类网站是不是休闲娱乐类网站青州市建设局网站
  • 网站的中英文切换代码做现货黄金网站
  • 万江区网站建设公司前端如何根据ui设计写页面
  • 宿迁公司做网站手机免费创建网站的软件
  • 免费可商用素材网站山东威海网站开发
  • 建设网站什么语言比较合适柳州建设网经济适用房
  • 企业网站的主要功能板块平台推广是做什么的
  • 网页网站自做全搞定西安建设工程信息网诚信平台
  • 网站vip怎么做建网站外包公司
  • 胶州建网站域名不备案可以正常使用吗
  • 网站建设客户开发方案软件工程师行业分析
  • 沈阳网站建设黑酷科技微信小程序怎么一键删除
  • 做网站产品搜索展示实现西安百度推广服务公司