C语言程序设计之数组,精华知识与基础知识汇总(上)

一.数组的概述

1.数组是由一个或者若干个同类型的变量组成的集合,引用这些变量可用同一名字(数组名)

2.可实现对大批量数据的集中和统一处理

3.按照组织的形式可以分为一维数组和多维数组,按照数组内数据的类型又可以分为数值数组、字符数组、指针数组、结构体数组。

二.一维数组

(一).一维数组的定义和引用

    • 定义:

2.数组的元素

int x[5];

数组的元素为:x[0], x[1], x[2], x[3], x[4]

是以 0 开始的索引,而不是1,所以不能使用数组元素x[5]

超限问题:C语言不对数组超限判断,由用户把握。

3.数组的引用

(二).一维数组在内存中的存放

注:一个整型数据占用4个字节的内存单元

(三).一维数组的初始化

(四).一维数组的应用举例

    • 记录10个学生的考试成绩并求出平均成绩

2.一 维数组的输入与输出

(五).一维数组的经典算法

    • 冒泡排序法

思路:将相邻的两个数比较,小的放前面,大的置后

总结:N个数字来进行排序——需要(N-1)轮,第i轮比较的次数为(N-i-1)次

示例代码:

2.选择排序法

思路:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。

3.选择排序二(记下标排序法)

优点:可以减少数组元素的交换次数,即在内循环的两数比较时,用一个变量记住每次比较出的较小数的下标和位置,在内循环中不再进行交换操作,内循环的比较结束后,将此变量记住的下标的位置上的数与该序列的第一个数交换位置,每轮在剩下的数据序列里找最小的数的下标,与该序列的第一个数交换位置。以此类推,直到最后一轮时,剩下两个数组元素的比较。

示例代码:

4.数组元素的查找

(1).顺序查找

思路:拿给定的一个条件,依次顺序的查找比较,到序列中查找满足此条件的数据,直到查找成功,或全部查找一遍,都没有找到。

顺序查找采取的是逐个比较,一次比较不满足,只能排除一个元素,因此查找效率低,收敛速度慢,只适合查找表中数据量不大的情况。

一般使用for循环来逐个查找,if语句来判断条件是否成立。也可以用do……while语句来查找。

(2).折半查找

示例代码:

三.多维数组

此内容请到“C语言程序设计之数组,精华知识与基础知识汇总(下)”查看。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小_扫地僧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值