C语言排序

以下是C语言的排序法,一些例子

1.冒泡法:

#include "stdafx.h"
#include"stdio.h"
#include"stdlib.h"
//冒泡法练习
int _tmain(int argc, _TCHAR* argv[])
{
    int b[1000];
    int a,c,d,t;
    printf("请输入数字个数\n");
    scanf("%d",&a);//输入数字个数
    printf("请输入各个数字\n");
    for(c=0;c<a;c++)
        scanf("%d",&b[c]);
    printf("您输入的数字为\n");
    for(d=0;d<a;d++)
        printf("%d\n",b[d]);
    for(c=0;c<a;c++)
    {
        for(d=0;d<a-1;d++)
            if(b[d]>b[d+1])
            {
                t=b[d];
                b[d]=b[d+1];
                b[d+1]=t;
            }
    }
    printf("从小到大排序\n");
        for(d=0;d<a;d++)
        printf("%d\n",b[d]);
    system("pause");
    return 0;
}

原文地址:https://www.cnblogs.com/mutangchun/p/11181800.html

时间: 2024-10-11 07:03:27

C语言排序的相关文章

杂文 - [1.1]使用库语言排序算法

[1.1]使用库语言排序算法 本文地址: http://blog.csdn.net/caroline_wendy 如果不缺少内存, 可以直接使用库的排序算法. 使用库语言的排序程序: C语言性能最好的算法是快速排序(quick sort). C++性能最好的是集合(set)的排序算法. C语言代码: /* * main.cpp * * Created on: 2014.6.12 * Author: Spike */ /*eclipse cdt, gcc 4.8.1*/ #include <std

C语言排序算法总结

学计算机程序设计的应该都知道,算法是程序之魂.所谓算法,就是解决问题的方法加上有限的实现步骤.算法的特点有有穷性,确定性,有效性,有零个或多个输入,有一个或多个输出.下面我们就来简单总结一下C语言中的三种经典排序算法. 一.冒泡算法. 所谓冒泡排序法,就是对一组数字进行从大到小或从小到大排序的一种算法.具体方法是,相邻的数字两两交换.从第一个数值开始,如果相邻两个数的排列顺序与我们的期望不相同,则将两个数的位置进行交换(对调):如果其余我们期望的相同,则不交换位置.重复这样的过程,一直到最后没有

C语言排序算法复习

排序算法有很多种,这里在复习和分析的基础上,做一个自己的总结: 首先要知道有哪些排序算法,google一下,有云C语言7大经典排序算法(也有8大).主要包括冒泡排序,快速排序,选择排序,插入排序,希尔排序,归并排序,堆排序,8大的还有基数排序.各有各的版本,代码写法也各不相同.所以这里以整理思路为先,代码只是作为自己的一个备份. 搞清楚的概念:稳定排序和不稳定排序,就看序列中两个值相等的数,排完序之后的相对位置是否改变,如果改变了就不稳定. 内部排序和外部排序,只用到内存即可完成排序的就叫内部排

C语言-排序和查找

一 冒泡排序:算法特点:两层循环外层控制排序的趟数,内存控制相邻元素两两比较的次数.n个数共需n-1趟,(i=1;i<n;i++)趟数=n-1-1+1,其中第j趟需要相邻元素两两比较的次数为n-j.可以按照升序也可以安排降序排序.其实还可以优化. oid Bubblesort(int *p,int n){    int i,j,temp;    for(i = 1;i < n;i++)    {        for(j = 0;i < (n - j);j++)        {    

C语言排序算法之简单交换法排序,直接选择排序,冒泡排序

C语言排序算法之简单交换法排序,直接选择排序,冒泡排序,最近考试要用到,网上也有很多例子,我觉得还是自己写的看得懂一些. 简单交换法排序 1 /*简单交换法排序 2 根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置 3 交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动 4 不稳定 5 */ 6 #include<windows.h> 7 #include<stdio.h> 8 void main(){ 9 int i,j,arr[10

c语言排序算法

用C语言总结一下常用排序算法,虽然大多数语言里已经提供了排序算法,比如C函数库中提供了qsort排序函数(内部为快速排序实现),但理解排序算法的思想的意义远远超过了实用的价值.这里我总结了常用的排序算法,并用C语言实现.这些算法的书写顺序也有一定的关联,比如希尔排序是对插入算法的改进,快速排序是对冒泡排序的改进,快速排序和归并排序都用递归实现.注:每种方法的实现尽量提供了相同的形参列表.这里并没用涉及堆排序,箱排序等算法的实现. 插入排序算法概要:插入排序依据遍历到第N个元素的时候前面的N-1个

C语言排序和查找

1.C语言选择排序算法及代码 选择排序是排序算法的一种,这里以从小到大排序为例进行讲解. 基本思想及举例说明 选择排序(从小到大)的基本思想是,首先,选出最小的数,放在第一个位置:然后,选出第二小的数,放在第二个位置:以此类推,直到所有的数从小到大排序. 在实现上,我们通常是先确定第i小的数所在的位置,然后,将其与第i个数进行交换. 下面,以对 3  2  4  1 进行选择排序说明排序过程,使用min_index 记录当前最小的数所在的位置. 第1轮 排序过程 (寻找第1小的数所在的位置) 3

C语言排序---快速排序

/* 快速排序由C. A. R.Hoare在1962年提出,是对冒泡排序的一种改进. * 它的基本思想是: * 通过一趟排序将要排序的数据分割成独立的两部分 * ,其中一部分的所有数据都比另外一部分的所有数据都要小 * ,然后再按此方法对这两部分数据分别进*/ #include<stdio.h>#define N 30int QSort(int a[N],int l,int r){ int m,i,j,p; if(l>=r)return 0; /*递归出口,当序列长度小于等于0时,视为排

R语言-排序

1 > c 2 [1] 1 2 3 4 5 6 1 3 3 > sort(c) 4 [1] 1 1 2 3 3 4 5 6 5 > order(c) 6 [1] 1 7 2 3 8 4 5 6 sort与order都是对向量排序,sort返回的是向量排序后的值(小-大),order是对向量排序,然后返回向量的索引(也就是原先所在的第几个位置,默认是1:n的正整数).