//快速排序法
void QuickSort(int *a, int left, int right)
{
int i = left;
int j = right;
int k = a[left]; if (i >= j)
{
return;
} while (i < j)
{
while ((i < j) && (k <= a[j]))
{
j--;
} a[i] = a[j]; while ((i < j) && (k >= a[i]))
{
i++;
} a[j] = a[i];
} a[i] = k; QuickSort(a, left, i-1);
QuickSort(a, i+1, right);
} //冒泡排序法
void BubbleSort(int *a, int len)
{
int i, j, k; for (i=0;i<len-1;i++)
for(j=i+1;j<len;j++)
{
if (a[i] > a[j])
{
k = a[i];
a[i] = a[j];
a[j] = k;
}
}
} //选择排序法
//找出最小值与第一个位置交换,在剩余的找出最小值与第二个位置交换,以此类推
void SelectSort(int *a, int len)
{
int i, j, k, tmp;
int m; for (i=0;i<len-1;i++)
{
tmp = a[i];
for (j=i+1;j<len;j++)
{
if (tmp > a[j])
{
tmp = a[j];
k = j;
}
}
if (tmp != a[i])
{
a[k] = a[i];
a[i] = tmp;
}
}
} //插入排序法
//从第二个位置起依次将此数插入前面,使前面的数保持排好的顺序
void InsertSort(int *a, int len)
{
int i, j, k; for (i=1;i<len;i++)
{
k = a[i]; for (j=i-1;j>=0;j--)
{
if (a[j] > k)
{
a[j+1] = a[j];
a[j] = k;
}
}
}
}

C语言 数组排序法总结的更多相关文章

  1. 12月21日 简单理解Active Recore Callback, destroy_all和delete_all的区别。豆知识(alias),语言学习法(4核心)

    destroy_all and delete_all Destroy the records by instantiating each record and calling its #destroy ...

  2. 大数加法之C语言函数法(只有正数版)

         由于某些原因,我于今天2017-4-19将我的博文搬到博客园了,以后我就在这里扎根了.         之前想过在博客写文章方便日后复习,但一直未能实现,所以,现在这篇是我个人人生中第一篇博 ...

  3. C语言 · 数组排序去重

    算法训练 数组排序去重   时间限制:1.0s   内存限制:512.0MB        问题描述 输入10个整数组成的序列,要求对其进行升序排序,并去掉重复元素. 输入格式 10个整数. 输出格式 ...

  4. C语言 · 冒泡法排序

    算法提高 冒泡法排序   时间限制:1.0s   内存限制:512.0MB      输入10个数,用“冒泡法”对10个数排序(由小到大)这10个数字在100以内. 样例输入 1 3 6 8 2 7 ...

  5. C语言冒泡排序法分析及代码实现

    冒泡排序法: 所谓冒泡排序法,就是对一组数字进行从大到小或者从小到大排序的一种算法.具体方法是,相邻数值两两交换.从第一个数值开始,如果相邻两个数的排列顺序与我们的期望不同,则将两个数的位置进行交换( ...

  6. C语言选择法排序

    #include <stdio.h> int main() { int i, j, p, n, q; ] = {, , , , }; //对无序数组进行排序 ; i<; i++) { ...

  7. C语言数组排序——冒泡排序、选择排序、插入排序

    一.冒泡排序 原理解析:(以从小到大排序为例)在一排数字中,将第一个与第二个比较大小,如果后面的数比前面的小,则交换他们的位置. 然后比较第二.第三个……直到比较第n-1个和第n个,此时,每一次比较都 ...

  8. c 语言 运算符 优先级

    C 语言 运算法优先级 从高 到 低 优先级 运算符 功能 适用范围 结合性 15 () [] . -> 括号 下标 存取成员 存取成员 表达式 数组 结构联合 结构联合 → (左→右) 14 ...

  9. go语言的学习之路

    一.学习前言 (1)go语言的介绍 1.解释型语言:python   PHP  java scripy (前端) 2.编译型语言:C  C++  C#(微软开发)  java(sun公司开发 后来被甲 ...

随机推荐

  1. 使用C++为对象分配与释放内存时的几个好习惯

    本文为大便一箩筐的原创内容,转载请注明出处,谢谢:http://www.cnblogs.com/dbylk/ 最近在为公司的项目写内存泄漏定位工具,遇到一些关于C++构造与析构对象的问题,在此记录一下 ...

  2. 双系统下ubuntu不能访问658GB卷,磁盘挂载失败。

    win10+ubuntu双系统出现以下错误: Error mounting /dev/sda5 at /media/captain/AC8CF85B8CF8218E: Command-line `mo ...

  3. 009——数组(九) each list array_map array_walk array_walk_recursive

    <?php /** * 9 数组 each list array_map array_walk array_walk_recursive */ //each() 返回数组中的键名和键值生成新数组 ...

  4. C++中几个值得分析的小问题(2)

    下面有3个小问题,作为C++ Beginner你一定要知道错在哪里了. 1.派生类到基类的引用或指针转换一定“完美”存在? 一般情况,你很可能会认为:派生类对象的引用或指针转换为基类对象的引用或指针是 ...

  5. LeetCode之Longest Substring Without Repeating Characters

    [题目描述] Given a string, find the length of the longest substring without repeating characters. Exampl ...

  6. weblogic、hibernate 包冲突

    解决办法: 在weblogic 配置  [paths]项中 添加antlr-2.7.7.jar,该jar包应该位于引用weblogic.jar之前,使启动时不再加载weblogic中的低版本的antl ...

  7. inet_pton函数和inet_ntop函数的用法及简单实现

    http://blog.csdn.net/eagle51/article/details/53157643?utm_source=itdadao&utm_medium=referral 这两个 ...

  8. Kotlin Reference (四) Basic Types

    most from reference 基本类型 在kotlin中,一切都是对象,我们可以在任何变量上调用成员函数和属性.一些类型可以具有特殊的内部表示:例如,数字.字符和布尔值都可以在运行时被表示为 ...

  9. CentOS6 mail邮件服务配置

    mail服务配置 环境: [root@m01 ~]# cat /etc/redhat-release CentOS release 6.7 (Final) [root@m01 ~]# uname -m ...

  10. DataFrame数据批量做线性回归

    我们通常用pandas读取csv文件为DataFrame数据格式,如下图,是部分县2001年到2009年的某种作物的产量数据.我们希望求得9年的增长趋势,即求一个一元线性回归模型的斜率,这个时候便可以 ...