文档章节

C实现数组中元素的排序

陈洪波
 陈洪波
发布于 2015/05/19 19:34
字数 410
阅读 7
收藏 0

使用C实现数组中元素的排序,使得数组中的元素从小到大排列。只不过在这个过程中出了一点小问题,在C中进行数字交换的时候,必须要使用指针的,不能使用引用。在后面的文章中,我要学习一个在C中的引用和指针的区别。下面看一下我的代码吧。

#include <stdio.h>

void swap(int *a,int *b);
void rest(int lels[],int count);

/** * 该实例用于实现对用户输入的数组进行排序 * 要求的数组中的元素从小到大来咧 * * @brief main * @return */
int main(void)
{
    /** 用于循环遍历的i **/
    int i = 0;

    /** 用于存储数组中元素的个数 **/
    int num;

    printf("Please enter the number of the array:\n");
    scanf("%d",&num);  //获取用户输入的数组元素的个数

    /** 用于存储用户输入的数组 **/
    int array[num];

    printf("Please enter the element of the array:\n");

    for(i = 0;i < num;i++)
        scanf("%d",&array[i]);

    rest(array,num);  //进行排序

    printf("The array after rest:\n");

    for(i = 0;i < num;i++)
        printf("%d\t",array[i]);

    return 0;
}

/** * @brief swap 用于将元素a和元素b交换 * @param a 要交换的数字a * @param b 要交换的数字b */
void swap(int *a,int *b){
    int temp = *a;
    *a = *b;
    *b = temp;
}

/** * @brief rest 用于对数组进行排序,从小到大排列 * @param lels 要被排序的数组 * @param count 被排序的数组元素的个数 */
void rest(int lels[],int count)
{
    /** 暂时使用冒泡排序 **/
    /** 临时变量i,j **/
    int i,j;
    for(i = 0;i < count-1;i++){
        for(j = i+1; j < count;j++){
            if(lels[i] > lels[j])
                swap(&lels[i],&lels[j]);
        }
    }
}



本文转载自:http://blog.csdn.net/hongbochen1223/article/details/45237865

陈洪波
粉丝 2
博文 76
码字总数 1552
作品 0
济南
程序员
私信 提问
常用的内部排序方法-非比较排序

这篇文章中我们来探讨一下常用的非比较排序算法:计数排序,基数排序,桶排序。在一定条件下,它们的时间复杂度可以达到O(n)。   这里我们用到的唯一数据结构就是数组,当然我们也可以利用...

亮亮-AC米兰
2017/01/22
0
0
PHP常见排序算法学习

题记: 常见的排序算法有:冒泡排序法,快速排序法,选择排序法,插入排序法,此处作为自己最近面试准备进行的学习笔记,同时也希望能帮到你。 需求:将一个有多个数字的数组进行从小到大的排...

moTzxx
2017/10/27
0
0
PHP常见排序算法整理学习

题记: 常见的排序算法有:冒泡排序法,快速排序法,选择排序法,插入排序法,此处作为自己最近面试准备进行的学习笔记,同时也希望能帮到你。 需求:将一个有多个数字的数组进行从小到大的排...

u011415782
2017/10/24
0
0
常用排序算法之JavaScript实现

1、插入排序 1)算法简介 插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插...

开心303
2014/09/05
184
0
丰富图例讲解十大经典排序算法 | 面试必备

面试官问:你会三路快排吗? 我: ... 关于时间复杂度: 平方阶 (O(n**2)) 排序 各类简单排序:直接插入、直接选择和冒泡排序。 线性对数阶 (O(nlog2n)) 排序: 快速排序、堆排序和归并排序;...

云影sky
09/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx学习笔记

中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。 是连接两个独立应用程序或独立系统的软件。 web请求通过中间件可以直接调用操作系统,也可以经过中间件把请求分发到多...

码农实战
今天
5
0
Spring Security 实战干货:玩转自定义登录

1. 前言 前面的关于 Spring Security 相关的文章只是一个预热。为了接下来更好的实战,如果你错过了请从 Spring Security 实战系列 开始。安全访问的第一步就是认证(Authentication),认证...

码农小胖哥
今天
11
0
JAVA 实现雪花算法生成唯一订单号工具类

import lombok.SneakyThrows;import lombok.extern.slf4j.Slf4j;import java.util.Calendar;/** * Default distributed primary key generator. * * <p> * Use snowflake......

huangkejie
昨天
12
0
PhotoShop 色调:RGB/CMYK 颜色模式

一·、 RGB : 三原色:红绿蓝 1.通道:通道中的红绿蓝通道分别对应的是红绿蓝三种原色(RGB)的显示范围 1.差值模式能模拟三种原色叠加之后的效果 2.添加-颜色曲线:调整图像RGB颜色----R色增强...

东方墨天
昨天
11
1
将博客搬至CSDN

将博客搬至CSDN

算法与编程之美
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部