3U8806,新浪微博粉丝,郑强演讲视频
定义:线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表中的数据元素
| \(a_1\) | ...... | \(a_{i-1}\) | \(a_i\) | ...... | \(a_{n-1}\) |
程序设计思路:
可以用一维数组来实现顺序存储结构
T* m_array
int m_length
template <typename T> class SeqList : public List<T> { protected: T* m_array; int m_length; }
顺序存储结构的元素获取操作:
bool SeqList<T>::get(int i, T& e) const { bool ret = ((0 <= i) && (i < m_length)); if (ret) { e = m_array[i]; // 用数组访问的方法获取数组元素 } return ret; }
顺序存储结构的元素插入操作:
bool SeqList<T>::insert(int i, const T& e) { bool ret = ((0 <= i) && (i <= m_length)); ret = ret && ((m_length + 1) <= capacity()); if ( ret ) { for(int p = m_length-1; p>=i; p--) { m_array[p+1] = m_array[p]; } m_array[i] = e; m_length++; } }
顺序存储结构的元素删除操作:
bool SeqList<T>::remove(int i) { bool ret = ((0 <= i) && (i < m_length)); if (ret) { for (int p = i; p < m_length-1; p++) { m_array[p] = m_array[p+1]; } m_length--; } return ret; }
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
如何在没有core文件的情况下用dmesg+addr2line定位段错误
用QT制作3D点云显示器——QtDataVisualization
网友评论