昨天参加了新学期的第一场笔试,搜狐的,只觉得自己学的太少,有太多的不努力了。仅仅几个排序算法和树形结构的知识点,就把自己弄的摸不着头脑了。 遂决定值复习各个排序算法及其主要的特点。 排序算法,主要有: 冒泡排序,最早接触,可以说是最简单的排序算法了, 选择排序; shell排序; 退排序; 归并排序; 快速排序; 基数排序; 桶排序 最近两天时间,认真总结。
原创 2013-04-24 21:16:00
254阅读
冒泡排序 冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。 过程演示: 选择排序 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未
转载 2019-11-25 18:50:00
151阅读
2评论
(1)“冒泡法” 冒泡法大家都较熟悉。其原理为从a[0]开始,依次将其和后面的元素比较,若a[0]>a[i],则交换它们,一直比较到a[n]。同理对a[1],a[2],...a[n-1]处理,即完成排序。下面列出其代码:void bubble(int *a,int n) /*定义两个参数:数组首地址与数组大小*/ { int i,j,temp; for(i=0;ia[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; } } 冒泡法原理简单,但其缺点是交换次数多,效率低。 下面介绍一种源自冒泡法但更有效率的方法“选择法”。 (2)“选择法” 选择法循环过程与冒泡
转载 2013-10-29 22:14:00
103阅读
本文主要介绍C语言中实现的排序算法,包括选择排序、插入排序、冒泡排序、希尔排序、快速排序和堆排序,以及相关的示例。原文地址:C语言常用排序算法
转载 2022-06-08 23:58:48
69阅读
一.希尔(Shell)排序法/* Shell 排序
转载 2023-05-05 11:45:19
74阅读
❤️快速排序算法(QSort,快排)及C语言实现​​1.定义​​​​2.基本思想​​​​3.步骤​​​​4.代码实现​​​​5.总结​​本节介绍一种排序算法——​​快速排序算法​​(Quick Sort)。C语言中自带函数库中就有快速排序——qsort函数 ,包含在 <stdlib.h> 头文件中。 1.定义快速排序C. A. R. Hoare在1962年提出。快速排序是对冒泡排序
原创 2021-12-09 11:34:33
324阅读
一.希尔(Shell)排序法/* Shell 排序法 */#include void sort(int v[],int n){int gap,i,j,temp;for(gap=n/2;gap>0;gap /= 2)/* 设置排序的步长,步长gap每次减半,直到减到1 */{for(i=gap;i= 0) && (v[j] > v[j+gap]);j -= gap ) /* 比较相距gap远的两个元素的大小,根据排序方向决定如何调换 */{temp=v[j];v[j]=v[j+gap];v[j+gap]=temp;}}}}算法:请看【动画模拟演示】。二.二分插入法/*
原创 2013-07-10 10:53:00
108阅读
1.功能将输入的数组按照从小到大冒泡排序。2. 算法实现int bubble(int a[], int n){ int temp; int i,j; for(i = 0; i< n-2;i++) { for(j = 0;j < n-1-i;j++) { if(a[j] > a[j+1...
原创 2022-01-10 16:28:20
108阅读
1.功能将输入的数组按照从小到大冒泡排序。2. 算法实现int bubble(int a[], int n){ int temp; int i,j; for(i = 0; i< n-2;i++) { for(j = 0;j < n-1-i;j++) { if(a[j] > a[j+1...
原创 2021-07-09 10:31:23
234阅读
/** * author:gubojun * time:2012-12-23 * name:堆排序 */ /* 解析:本程序对数列 312,126,272,226,28,165,123,8,12 进行排序 首先进入heapsort函数对所有元素建
原创 2023-08-21 16:42:39
43阅读
一.希尔(Shell)排序法 /* Shell 排序法 */ #include <stdio.h> void sort(int v[],int n) {      int gap,i,j,temp;      for(gap=n/2;gap>0;gap /=
原创 2013-07-10 10:53:00
332阅读
排序算法系列学习,主要描述冒泡排序,选择排序,直接插入排序,希尔排序,堆排序,归并排序,快速排序排序进行分析。文章规划:一。通过自己对排序算法本身的理解,对每个方法写个小测试程序。 具体思路分析不展开描述。二。通过《大话数据结构》一书的截图,详细分析该算法。在此,推荐下程杰老师的《大话数据结构》一书,当然不是打广告,只是以一名读者的身份来客观的看待这本书,确实是通俗易懂,值得一看。②选择排序一。个人理解选择排序思路:首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到排序序列的起始位置。以此类推,直到所有元素均排序完毕。具体做法是:选
转载 2013-08-06 18:19:00
108阅读
排序算法系列学习,主要描述冒泡排序,选择排序,直接插入排序,希尔排序,堆排序,归并排序,快速排序排序进行分析。文章规划:一。通过自己对排序算法本身的理解,对每个方法写个小测试程序。
转载 2013-08-14 19:17:00
220阅读
Time : 2020-08-03 12:48:37本文主要总结了C语言常见的四种排序算法:冒泡排序、插入排序、选择排序、快速排序。冒泡排序:主要思想:将一串数字中的最大值(或最小值)排列到数组的最后面,再将内层循环j的最大值向前移一位;同理,这个时候将剩余数字的最大值(或最小值)冒泡到数组的倒数第二个位置,内层循环j的最大值向前移一位。知道内层循环结束,整个排序也完成了。  
递归过程一般通过函数或子过程来实现。递归方法:在函数或子过程的内部,直接或者间接地调用自己的算法
原创 2016-07-27 22:01:09
3882阅读
快速排序(Quicksort)是对冒泡排序的一种改进。最流行,最快的排序算法,此算法用到枢轴:pivot,递归
原创 2016-07-28 17:37:16
1187阅读
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列 的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名
原创 2016-12-17 16:00:50
985阅读
用希尔排序法对一组数据由小到大进行排序,数据分别为 69、56、12、136、3、55、46、 99、88、25。  例子:(1)自定义函数 shsort(),实现希尔排序。(2) main() 函数作为程序的入口函数。程序代码如下:#include <stdio.h>int shsort(int s[], int n)    /* 自定义函数 shsort()*/{    int i
转载 2021-01-25 13:25:48
265阅读
2评论
用选择排序法对一组数据由小到大进行排序,数据分别为 526、36、2、369、56、45、78、92、125、52。实现过程:(1) 程序中用到T两个 ​​for 循环​​语句。第一个 for 循环是确定位置的,该位置是存放每次从待排序数列中经选择和交换后所选出的最小数。第二个 for 循环是实现将确定位置上的数与后面待排序区间中的数进行比较的。(2) 程序代码如下:#include&l
原创 2022-06-21 12:47:11
267阅读
一、冒泡排序 冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。 过程演示:
原创 精选 2023-06-18 00:14:36
228阅读
  • 1
  • 2
  • 3
  • 4
  • 5