C语言_数组与排序

1、数组定义

数组:一组有序数据的集合。

//定义一个长度为5的整形数组

//数组里存储的是5个int类型的变量

int arr[5];

int    //数组的数据类型

arr   //数组的名字

5     //数组的长度

2、数组下标

数组的下标从0开始,到n-1结束(n是数组长度)。

int arr[5];

0

1

2

3

4

3、数组元素

数组里存储的每一个变量都称为数组的一个元素。

int arr[5];

arr[0] = 5;

arr[1]

arr[2]

arr[3]

arr[4]

4、数组赋值

1)初始化

int  arr[5];

//未初始化的数组,每个元素的值默认是随机值;

int arr[5] = {1,2,3,4,5};      //完全初始化

int arr[5] = {1,2,3};             //部分初始化

//部分初始化中,未初始化的元素默认值是0;

int arr[] = {2,3,4,5,6};      //完全初始化的一种

//数组的长度是初始化中元素的个数;

int arr[5] = {};

//数组中的每个元素值都为0;

int arr[];    //错误的定义——未指明数组长度

int  arr[n];  //错误的定义——定义数组必须指明长度,不可以在[]里写变量。

int n;

scanf(“%d”,&n);

int arr[n];

编译:静态的检查语法错误

运行:动态的检查逻辑错误

//数组的长度是在编译阶段分配的;

//scanf输入是在运行阶段进行的;

2)赋值

//数组的赋值需要对每个元素分别赋值;

int arr[5];

arr[0] = 3;

arr[1] = 4;

arr[2] = 5;

arr[3] = 6;

arr[4] = 7;

arr[5] = {1,2,3,4,5};      //错误的赋值

定义一个长度为6的整型数组,通过键盘输入分别给数组每个元素赋值,求所有元素的和,并输出。

5、排序

1)冒泡排序

排序规则(升序):数组里相邻元素依次两两比较,如果后面元素值比前面元素值小,则交换两元素值;比较结束,最大的元素值会沉底,一轮排序结束。

后续每一轮排序规则都按第一轮排序规则排,但是已经排好序的元素不再参与排序。

//长度为n的数组,只需要排序n-1轮

4 5 8 6 3

4 5 6 3 8     一轮排序结果

4 5 3 6 8    二轮排序结果

4 3 5 6 8    三轮排序结果

3 4 5 6 8    四轮排序结果

3 4 5 6 8   五轮排序结果

时间: 2024-08-06 07:55:03

C语言_数组与排序的相关文章

java语言之数组-----选择排序

1. 数组的基本知识:数组是用来存储变量的集合 2. 数组的声明格式:元素类型 [] 数组引用变量名 = new 元素类型[元素个数] 如: int [] arrary = new int [10]  声明并创建一个具有int类型的10个元素  arrary 是一个含有十个int 类型的元素数组的引用变量 3. 数组初始化: int [] arrary = new int [] {1,2,3,4,56,7}; 或        int [] arrary = new int [6]; arrar

C语言学习_数组与指针2

数组其实是一种变相的指针,数组名同时也是指针,eg: CODE == &CODE[0]; 数组的加法: #include<stdio.h> #define SIZE 4 int main(void) { shortdates[SIZE]; short* pti; shortindex; doublebills[SIZE]; double* ptf; pti= dates;//把数组地址付给指针 ptf= bills; printf("%23s  %10s\n", &

随机函数Math.random()_随机数,随机排序

Math.random() 返回0到1之间的随机数(小数) 如:0.6417997585228452 通过Math.random()和sort函数可实现数组的随机排序,代码如下: 1 arr.sort(function( a, b ){ 2 return Math.random() - 0.5; 3 }); 4 5 alert( arr ); //8,7,4,3,2,1,5,6 总结产生随机数的公式: x ~ y 产生x到y之间的随机整数Math.round( Math.random()*(y-

JS 中数组的排序和去重

在 PHP 中,数组有很多排序方法,不过其他语言的数组中大概是不会像 JS 的数组一样,包罗万象,啥都通吃的.所以 JS 的数组排序情况就略多一些了. 简单粗暴的排序: 赤果果的sort: var  arr = ['Jason','Eric','Rose','Paul'] arr.sort()// arr => ['Eric','Jason','Paul','Rose']; 这样排序的前提是数组本身元素类型单一,都为数字或者字符串,默认排序为按照首字母进行增序: 稍微不那么粗暴的:  有排序函数

关于数组的排序和拷贝!

今天来简单的介绍一下数组的排序问题和拷贝!关于排序基本上面试的时候都会问到,一般是两种办法,一种是手写的冒泡法排序,还有就是用数组的sort方法.冒泡法这里就不在赘述了,网上百度一大堆,sort排序也是非常简单的,但是sort排序是有一定的缺陷的.首先我们要是知道sort排序究竟是根据什么标准排序的,这样才能知道他的缺陷在哪里以及怎么更改. 其实sort排序默认是根据ASCII 码表排序的,下面附上一张表: 这里面除了数字大小写字母之外,还有一些其他的字符,sort默认情况下会对字母和数字按照这

2.8-Java语言基础(数组)

数组的定义 数组的内存分配及特点 数组操作常见问题 数组常见操作 数组中的数组 2.8.1  数组的定义 概念 同一种类型数据的集合.其实数组就是一个容器. 数组的好处 可以自动给数组中的元素从0开始编号,方便操作这些元素. 格式1: 元素类型[] 数组名 = new 元素类型[元素个数或数组长度]; 示例:int[] arr = new int[5]; 格式2: 元素类型[] 数组名 = new 元素类型[]{元素,元素,--}; int[] arr = new int[]{3,5,1,7};

数据结构(一)_数组

数组基本知识 数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java语言中提供的数组是用来存储固定大小的同类型元素. public class Demo1 { public static void main(String[] args) { // 定义一个数组,保存五名学生的成绩 int[] scores = { 78, 93, 97, 84, 63 }; // 输出数组中的第二个成绩 System.out.println("数组中的第2个成绩为:

给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

js中的数组对象排序

一.普通数组排序 js中用方法sort()为数组排序.sort()方法有一个可选参数,是用来确定元素顺序的函数.如果这个参数被省略,那么数组中的元素将按照ASCII字符顺序进行排序.如: var arr = ["a", "b", "A", "B"]; arr.sort(); console.log(arr);//["A", "B", "a", "b"