数组元素排序

/*编写一个void sort(int *x,int n)实现将x数组中的n个数据从大到小 排序。n及数组元素在主函数中输入。*/

#include <stdio.h>

void sort(int *x, int n);
void outPutAraay(int *x, int n);
void swap(int *v1, int *v2);

int main(int argc, const char * argv[]) {

    int n;
    printf("请输入数组元素的个数n\n");
    scanf("%i",&n);

    //注意:只有n的值确定,才可以定义数组
    int x[n];

    for (int i = 0; i < n; i++) {
        printf("请输入数组的第%i个元素\n",i+1);
        scanf("%i",&x[i]);
    }

    printf("排序前:\n");

    outPutAraay(x, n);

    sort(x, n);

    outPutAraay(x, n);

    return 0;
}

//排序
void sort(int *x, int n)
{
    for (int i = 0; i < n - 1; i++) {
        for (int j = i + 1; j < n; j++) {
            if (x[i] < x[j]) {
                swap(&x[i], &x[j]);
            }
        }
    }
}

//遍历输出数组
void outPutAraay(int *x, int n)
{
    for (int i = 0; i < n; i++) {
        printf("%i ",x[i]);
    }
    printf("\n");
}

//交换数据
void swap(int *v1, int *v2)
{
    int temp = *v1;
    *v1 = *v2;
    *v2 = temp;
}
时间: 2024-08-10 00:04:07

数组元素排序的相关文章

二维数组元素排序

<script type="text/javascript">//--------------------------1数值排序-------------------------var arr1=[[22,33,44],[1,0,6,2],[33,10],[10,5]];arr1.sort(function(x,y){ return x[1] -y[1];//按照二维数组arr1中每个数组元素(数组)的第二个元素升序排列 });console.log(arr1); //--

ava对数组元素排序的三种方式

JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法.冒泡法.选择排序法.插入排序法.快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现.冒泡法是运用遍历数组进行比较,通过不断的比较将最小值或者最大值一个一个的遍历出来.选择排序法是将数组的第一个数据作为最大或者最小的值,然后通过比较循环,输出有序的数组. package com.study.test; import java.util.Arrays; public class TestArrSort {   

js 数组元素排序

字母排序 <html> <body> <script type="text/javascript"> var arr = new Array(6) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" arr[3] = "James" arr[4] = "Adrew" arr[5] = "Ma

【数据分析&amp;数据挖掘】数组的排序

1 import numpy as np 2 3 # 创建数组 4 arr = np.array([[8, 1, 9], [7, 6, 5]]) 5 print("arr: \n", arr) 6 7 # sort()直接排序 8 # 在列的方向上排序 9 arr.sort(axis=-1) 10 print("axis=-1排序之后的结果:\n", arr) 11 arr.sort(axis=1) 12 print("axis=1排序之后的结果:\n&q

给object数组进行排序(排序条件是每个元素对象的属性个数)

从汤姆大叔的博客里看到了6个基础题目:本篇是第3题 - 给object数组进行排序(排序条件是每个元素对象的属性个数) 解题关键: 1.Array.sort的用法 2.object的属性数量的统计 解点1:Array.sort的用法 Array.sort可以为数组指定一个排序规则,一般用如下格式进行指定,代码如下: var arr = [10,6,0,4]; console.log( arr.sort() ); //按字符排序 0,10,4,6 console.log( arr.sort( fu

数组之 -- 数组元素的比较、排序

前言: 当我们在使用Java,应该"优选容器而不是数组".只有在证明性能成为问题,并且切换到数组对性能提高有所帮助时,你才应该使用数组. 排序: 排序必须根据对象的实际类型执行比较操作.一种自然的解决方案是为每种不同的类型各编写一个不同的排序方法,但是这样的代码难以被新的类型所复用. 程序设计的基本目标是:"将保持不变的事物与会发生改变的事物相分离",而这里,不变的是通用的排序算法,变化的是各种对象相互比较的方式.因此,不是将进行比较的代码编写成不同的子程序,而是使

使用函数指针,完成一个sort()函数,能对任何类型的数组元素进行排序: 回调函数 以及 memcpy ()原型实现

进来复习了一下C语言指针,一直没有写过太多关于函数指针的代码,而且对回调函数的理解一直都是在理论上,基本上没有太写过关于它的代码,进来得空,写了一个小程序加深下自己对回调函数和函数指针的理解. 问题描述: 编写一个sort()函数,使它能够对任何类型的数组元素进行排序. 下面是我写的代码: /* 使用函数指针的回调函数技巧,设计一个能排序int 和char 数组的sort()函数 */ #include<stdio.h> #include<stdlib.h> #include<

随机获取数组元素 和 数组元素随机排序

<script type="text/javascript"> //随机取得数组中的一个元素 function Rand(){ var arr=[11,22,33,44]; var a=Math.floor(Math.random()*arr.length);//Math.floor(Math.random()); //Math.floor()方法执行的是向下取整计算,它返回的是小于或等于函数参数,并且与之最接近的整数. //alert(Math.random()*arr.

js对数组元素大小排序实例代码

js对数组元素大小排序实例代码:在实际应用中,有时候需要对数组中的元素按照大小来进行排序,当然是先排序的方法有多种,比如使用数组对象自带的sort()方法,本章节再来分享一种其他的方式,先看代码实例: var org=[5,4,3,2,1,6,7,9,8,10]; var tempArr=new Array(); for(var i=0;i<org.length;i++) { if(i==0) { tempArr[0]=org[0]; //把第一个元素放到新序列 } else { for(var