一、一维数组的定义
2、
(1).类型说明符
整型
int,short,long ,long long
浮点
字符 //基本数据类型
(2).数组名
代表着 数据集合 (内存空间的一个名字)
数据类型角度
1. a代表整个数组类型
2. a代表一个值 --数组首元素的地址
(3).[] //表示此时定义的是一个 数组
(4).常量表达式
表示数组的长度 --- 变量的个数
eg:
int array[5]; //定义一个数组,这个数组放了5个 int型变量
数组本身也是一种数据类型
int a = 10; //a int型
int a[10]; //a所代表的类型 是
//
int[10] a; //a所代表的类型 int[10]
//a数组名 标识符
//a ---把名字去掉 ,剩下的就是名字对应的数据类型
int a[10]; //数组在内存空间上的特点
//数组的给值
//初始化
//赋值
int a[10] = {1,2,3,4,5,6,7,8,9,10}; //{} //表示初始化 --初始化器
//全部初始化
一、插入排序
1.1直接插入
把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列
步骤:
1.从第一个元素开始,该元素可以认为已经被排序
2.取下一个元素tem,从已排序的元素序列从后往前扫描
3.如果该元素大于tem,则将该元素移到下一位
4.重复步骤3,直到找到已排序元素中小于等于tem的元素
5.tem插入到该元素的后面,如果已排序所有元素都大于tem,则将tem插入到下标为0的位置
6.重复步骤2~5
思路:
在待排序的元素中,假设前n-1个元素已有序,现将第n个元素插入到前面已经排好的序列中,使得前n个元素有序。按照此法对所有元素进行插入,直到整个序列有序。
但我们并不能确定待排元素中究竟哪一部分是有序的,所以我们一开始只能认为第一个元素是有序的,依次将其后面的元素插入到这个有序序列中来,直到整个序列有序为止。
二、选择排序
思路:
每次从待排序列中选出一个最小值,然后放在序列的起始位置,直到全部待排数据排完即可。
实际上,我们可以一趟选出两个值,一个最大值一个最小值,然后将其放在序列开头和末尾,这样可以使选择排序的效率快一倍
三、冒泡排序
思路:
左边大于右边交换一趟排下来最大的在右边