• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

【C++算法与数据结构学习笔记------线性表】用数组实现表

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

一个简单的实现例子,只用到了插入函数以及输出函数,初始化26个英文字母。

 1 #include <iostream> 
2 using namespace std;
3 template <typename T>
4 class List{
5 public:
6 List(int max_list_size=10); //构造函数
7 ~List(){delete [] data;} //析构函数
8 bool empty()const {return 0==n;} //判断表是否为空
9 int size()const {return n;} //返回表的大小
10 int locate(const T& x)const; //返回表中元素X的位置
11 bool retrieve(int k,T& x)const; //返回表中第K个元素X
12 List <T>& insert(int k,const T& x); //在表的位置K插入元素X
13 List <T>& erase(int k); //从表中删除位置K处的元素X
14 void print_list(); //输出表
15 private:
16 int n; //记录表长
17 int max_size; //表的最大长度
18 T *data; //记录表中的数组
19 };
20 template <typename T>
21 List<T>::List(int max_list_size)
22 {
23 max_size=max_list_size;
24 data=new T[max_size];
25 n=0;
26 }
27 template <typename T>
28 int List<T>::locate(const T& x)const
29 {
30 for(int i;i<n;i++)
31 {
32 if (data[i]==x) return ++i;
33 return 0;
34 }
35 }
36 template <typename T>
37 bool List<T>::retrieve(int k,T& x)const
38 {
39 if (k<1||k>n) return false;
40 x=data[k-1];
41 return true;
42 }
43 template <typename T>
44 List <T>& List<T>::insert(int k,const T& x)
45 {
46 for(int i=n-1;i>=k;i--)
47 data[i+1]=data[i];
48 data[k]=x;
49 n++;
50 return *this;
51 }
52 template <typename T>
53 List <T>& List<T>::erase(int k)
54 {
55 for(int i=k;i<n;i++)
56 data[i-1]=data[i];
57 n--;
58 return *this;
59 }
60 template <typename T>
61 void List<T>::print_list()
62 {
63 for(int i=0;i<n;i++)
64 cout <<data[i] <<" ";
65 }
66 int main()
67 {
68 int s1,s2;
69 List<char> s(30);
70 s1='A';
71 s2='Z';
72 for(int i=s2;i>=s1;i--)
73 s.insert(0,i);
74 s.print_list();
75 return 0;
76 }

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
c语言作业——闰年的判断发布时间:2022-07-13
下一篇:
C语言-求1-20的阶乘的和(函数的递归)发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap