一、数组都有哪些个用处
存储一些需要规律的数据可以调高程序的效率
在数据结构中经常需要数组就是因为数组可以输入一组或几组有同一性质的数据
二、一维数据组储存
数组就是连续的存储空间,维是对这段连续空间的划分方式。
维数本来就是自定义的,当然不只1维和2维了。只不过,通常我们只用到1维数组和二维数组。因为以后会学习使用链表、结构体和自定义的类来解决问题,所以你对1维数组和二维数组能熟练使用就可以了。
维的作用,便于理解数据,便于操作、处理数据。
举个例子:
一个学生有9门成绩,我们存储他的成绩可以定义一个一维数组result[9]。
一个班级有50名学生,每个学生有9门成绩。那么我可以定义一个二维数组result[50][9],跟汉语表达是不是很接近?
这个年级有10个班,每个班有50人,每个学生有9门成绩,该怎么定义数组呢?
还是很直观的定义,result[10][50][9]。
再举个例子:
你跟学校申请要1排10=10把椅子,学校给了你10把椅子,一个挨着一个摆成一排,然后你在某班级找来10个学生,并让他们依次坐到座位上。
这个过程就像你定义了一个一维数组seat[10],系统会给你的seat数组划分出连续的10个存储单元供你使用,然后你在seat的每个元素中依次存储了一个学生信息。
你跟学校申请要3排10把椅子,学校给了你30把椅子,一个挨着一个摆成一排,然后你在三个班级各找来10个学生,让第一个班级的学生依次坐到前10个座位上,然后是下一个班级的学生入座到中间的10个座位上,再下一个班级坐到最后10个位置上。这里虽然学校给你把椅子排成了一排,但是在你眼睛里这些椅子排成了三排。
这个过程就像你定义了一个二维数组seat[2][10],系统会给你的seat数组划分出连续的20个存储单元供你使用,然后你在seat的每个元素中按规律依次存储了一个学生信息。
三、c语言中数组有什么作用
数组在内存中分配是栈内存,是【连续】存储【同一种类型】的【线性】结构。它的作用主要体现在对同一类型的数据进行存储。(要是int型,全都是int型,要是char型,全都是char型),不可以出现其他类型。对数据的访问是具名访问,可是直接读出数据中某一块的数据,例如
int array[5]={1,2,3,4,5}; array[3]等于3.这里需要注意的是:数组的下标是从0开始的。如果你想访问array[5],会提示错误,因为已经越界了。提取数据比较方便,因为数组在内存中是连续存储数据的,好找。
随便说句,数组可以当指针用,但它绝不是指针。
四、ArrayList用法
1. ArrayList就是动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了动态的增加和减少元素,实现了ICollection和IList接口,灵活的设置数组的大小等好处。
2. List 接口的大小可变数组的实现,位于API文档的java.util.ArrayList。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。(此类大致上等同于 Vector 类,除了此类是不同步的。) 3. size、isEmpty、get、set、iterator 和 listIterator 操作都以固定时间运行。add 操作以分摊的固定时间 运行,也就是说,添加 n 个元素需要 O(n) 时间。其他所有操作都以线性时间运行(大体上讲)。与用于 LinkedList 实现的常数因子相比,此实现的常数因子较低。 4. 每个 ArrayList 实例都有一个容量。该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向 ArrayList 中不断添加元素,其容量也自动增长。并未指定增长策略的细节,因为这不只是添加元素会带来分摊固定时间开销那样简单。
五、1、编写一个程序,输入N个学生数据,包括学号、姓名、成绩,要求只输出成绩在90分以上的学生数据。
我会,只是回答你不简单啊
你用while(cin〉〉score)
然后用循环语句判断分数,如果大于90分,你就进行操作,否则exit(0);
可以实现判断分数