while (pa <= pa_last && pb <= pb_last) 这里面的符号,一定不要写错了,一开始就是因为<= 写成了< 导致程序运行失败,并没有进行排序
就直接存到Lc中了。
*pc++ = *pa++; 等价于 pc = pa; pa++; pc++;注意此处的 pa++ 不可以写成 (++pa),因为是先把pa 赋值给 pc ,所以不能写反了,如果写反了就是先p+1 ,然后才赋值给pc,这样程序逻辑会出错。
线性顺序表优缺点优点
1.无须为表示结点间的逻辑关系而增加额外的存储空间(因为逻辑上相邻的元素其存储的物理位置也是相邻的)。
2.可以方便的随机存取表中的任一个元素。
缺点
1.插入和删除运算不方便,除表尾的位置外,在表的其他位置上进行插入或者删除操作都必须移动大量的结点,其效率低。
2.由于顺序表要求占用连续的存储空间,存储分配只能预先进行静态分配。因为当表变化较大时,难以确定合适的存储规模。若按可能达到最大长度预先分配表空间,则可能造成一波分空间长期闲置而得不到充分利用;若事先对表长估计不足,则插入操作可能使表长超过预先分配的空间而造成溢出。
数据结构-用C语言描述(第二版)[耿国华]
C语言数据结构之线性表的基本操作
数据结构(C语言版)[严蔚敏,吴伟民]