C#用一维数组求解问题
利用一维数组求解问题。读入若干(1-15个)整数(一行输入,空格分隔),每个数在10-100之间的整数包括10和100。在读入每个数时,确认这个数的有效性(在10到100之间),并且若它和之前读入的数不一样,就把它存储到数组中,无效的数不存储。读完所有数之后,仅显示用户输入的不同的数值。
利用一维数组求解问题。读入若干(1-15个)整数(一行输入,空格分隔),每个数在10-100之间的整数包括10和100。在读入每个数时,确认这个数的有效性(在10到100之间),并且若它和之前读入的数不一样,就把它存储到数组中,无效的数不存储。读完所有数之后,仅显示用户输入的不同的数值。
有几个难点,指针:二重指针、一重指针、一维数组
二重指针:它指向的值还是指针
一重指针:它指向的值可以解引用*,得到数值,但一定要知道指针的类型。不然编译器元法知道如何解析的哪段内存。
一维数组:就是一段连续的内存,数组名也是数组头指针。
查找数组内元素方法,最普遍的方式就是遍历一次数组,时间复杂度为O(n)。就这遍历一次数组其实也还有很多写法,这里介绍三种方法,基本一样,有此代码细节的修改。
1.顺序查找数组中元素,正常写法
2.顺序查找数组中元素,数组长度在0位
3.顺序查找数组中元素,数组长度在0位,加入“哨兵”
数组实现其存储结构也就是顺序,这类队列也称顺序队列。
用数组实现堆栈,这种就是顺序存储结构是顺序栈。
数组实现线性表,可以方便的索引,但删除、插入就不是很方便。
数组如何实现队列?我们可以定义队列结构,成员有一维数组,一个记录队列头元素位置front,一个记录队列尾元素位置rear组成。
用一个数组实现两个堆栈,最好的方法就是一个从头写入,一个从尾写入。这样数组实现堆栈空间的使用效率最高。
用数组实现栈,它将是顺序存储结构,通常由一个一维数组和一个记录栈顶元素位置的变量组成。
用数组实现线性表,就是将数据都存放到数组中,然后写函数实现线性表的基本操作。
数组实现线性表基本操作代码:
数组实现线性表优点:
数组实现线性表缺点: