gpt4 book ai didi

C++ 使用模板实现一个List的实例

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章C++ 使用模板实现一个List的实例由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

C ++使用模板写的一个List 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
template < class T>
class List
{
private :
   struct Node
   {
     T data;
     Node *next;
   };
   //head
   Node *head;
   //size
   int length;
 
   //process
   Node *p;
 
   //temp
   Node *q;
public :
   List()
   {
     head = NULL;
     length = 0;
     p = NULL;
   }
   void add(T t)
   {
     if (head == NULL)
     {
       q = new Node();
       q->data = t;
       q->next = NULL;
       length ++ ;
       head = q ;
       p = head;
     }
     else
     {
       q = new Node();
       q->data = t;
       q->next = NULL;
       length ++;
       p -> next = q;
       p = q;
     }
   }
 
   void remove ( int n)
   {
     if (n >= length )
     {
       return ;
     }
     length -- ;
 
     //删除头节点
     if (n == 0)
     {
       q = head ;
       head = head -> next;
       delete (q);
     }
     else
     {
       q = head;
       for ( int i = 0 ; i < n-1 ; i++)
       {
         q = q -> next;
       }
       Node *t = q ->next;
       q->next = q->next ->next;
       delete (t);
 
     }
 
     //
     p = head;
     if (p != NULL)
     {
       while (p->next != NULL)
       {
         p = p->next;
       }
     }
 
   }
 
   int getSize()
   {
     return length;
   }
 
   int getLength()
   {
     return getSize();
   }
 
   T get( int n)
   {
     q = head;
     for ( int i = 0 ;i < n ; i++)
     {
       q = q->next;
     }
     return q->data;
   }
 
 
};

调用方式如下 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
List<Stu>list;
   Stu stu1;
   Stu stu2;
   Stu stu3;
   stu1.username = "1" ;
   stu2.username = "2" ;
   stu3.username = "3" ;
 
   list.add(stu1);
   list. remove (0);
   list.add(stu2);
   list.add(stu3);
 
   for ( int i = 0 ;i < list.getSize() ; i ++)
   {
     cout << list.get(i).username;
   }

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持! 。

原文链接:http://blog.csdn.net/huplion/article/details/51417665 。

最后此篇关于C++ 使用模板实现一个List的实例的文章就讲到这里了,如果你想了解更多关于C++ 使用模板实现一个List的实例的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com