结构数组表示一元多项式并计算相加
一元多项式用数组表示,只用表示非零项。每个非零项都包含指数和系数两部份,这样可以用结构数组来表示。
这样表示后做相加运算时,一定要先排好序。
一元多项式用数组表示,只用表示非零项。每个非零项都包含指数和系数两部份,这样可以用结构数组来表示。
这样表示后做相加运算时,一定要先排好序。
用数组如何表示多项式:
1.多项式项数n: ?将数组个数定义时比n大就可以表示出n项
2.各项系数ai :? 数组内值表示项式系数
3.指数i? :? ? ? ? ? ? ? 数组的下标用来表示多项式系数
C++11之前数组使用方法可以参考这篇:数组使用注意点今天这篇主要讲C++11数组新增加初始化方式。
1.C++11数组初始化时可省略等号
2.C++11数组初始化时大括号内可以不包含任何东西
3.C++11数组初始化时不能缩窄转换。缩窄转换:就是宽类型转窄类型,例如double转int
数组array就是同一种类型的数据集合。数组的运用还是比较多的,比如成绩,工资,学号只要是一类的数据,就可以定义成数组。不过在使用数组时,还是有很多要小细节要注意。
注意一点数组不会做下标越界检查,比如上面的数组只有10个a[0]-a[9],但写成a[10]编译器是也会让通过编译,运行时将会出错,所以用数组下标的使用要小心。建议大家用Vector类来代替数组的使用,它也就是C++为了代替数组做的设计。
两个指针一个指向数组的头部,另一个指向数组的尾部。求数组中间位置?
这个用指针的算术运算就可以完成,用尾部指针减去头部指针,再除以2就可以。不过有一点要注意数组要是奇数才有中间位置,例如:1 2 3 4 5 6 7 中间是4。
判断奇数可以用求余 %方式
指针的指针做输入参数代替二维数组?
有时在写程序是会碰到定义函数输入参数要一个二维数组,但并不能确定数组内的元素个数时,这种情况可以用指针的指针做输入参数解决问题。
因为不用指针的指针,二维数组做对也只能有一维定义时不给出元素个数 (int a[][3])。
指针的指针做输入参数好处就是,不用在定义时就要知道组内元素个数,可以在调用时输入,这们定义的函数更通用。
数组在内存中就指一段连续的内存,但C++提供了一种快捷表示,定义数组名可以等价于该数组的首地址。
int a[5] = {0}; 定义整型数组,获取首地址可以有两个写法了,取址符:&a[0], 数组名: a
指针就是指向某个数据的地址,当然也可以指向数组的首地址,
从时间和空间的角度来讲,数组是访问内存中连续对象的最佳结构。然而,它同时也是非常底层的数据结构,不当地使用它常常会导致大量潜在的错误。而且,基本上在所有需要用到数组的地方,我们都有更好的替代品。我所说的“更好”是指更易于读写、不易导致错误,以及同等效率。