顺序链表的java类文件:SequenceList.java文件
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
|
package
list;
public
class
SequenceList {
private
int
LIST_INIT_SIZE =
5
;
//链表的原始大小
private
int
INCREMENT =
1
;
//链表的增量大小
private
Object []SqList =
null
;
//链表
private
int
curIndex=
0
;
//当前位置
/**
* 初始化链表
* */
public
void
initList()
{
SqList =
new
Object[LIST_INIT_SIZE];
}
/**
* 向链表中插入元素
* */
public
void
insertList(Object o)
{
if
(curIndex>LIST_INIT_SIZE-
1
)
//判断当前链表是否已经满
{
//从新为链表分配空间
System.out.println(
"从新分配空间"
);
LIST_INIT_SIZE+=INCREMENT;
Object []temp =
new
Object[LIST_INIT_SIZE];
for
(
int
i=
0
;i<curIndex;i++)
{
temp[i]=SqList[i];
}
SqList=
null
;
SqList=temp;
}
//链表中如果不让其包含重复元素,则加入这段代码
/*
if(isContain(o))
{
System.out.println("链表中已包含此元素"+o);
}else
{
}
*/
SqList[curIndex++]= o;
}
/**
* 判断链表中是否包含某元素
* */
Boolean isContain(Object o)
{
for
(
int
i=
0
;i<curIndex;i++)
{
if
(SqList[i].equals(o))
{
return
true
;
}
}
return
false
;
}
/**
* 删除链表中的某元素
*
* 如果包含重复元素都删除
* */
public
void
delete(Object o)
{
for
(
int
i=
0
;i<curIndex;i++)
{
if
(SqList[i].equals(o))
{
for
(
int
j=i;j<curIndex-
1
;j++)
{
SqList[j]=SqList[j+
1
];
}
curIndex--;
continue
;
}
if
(i==curIndex-
1
)
{
System.out.println(
"不存在此元素"
+o);
}
}
}
/**
* 获取链表中的某个元素
* */
public
Object getElement(
int
i)
{
if
(i <=
0
|| i > curIndex)
{
System.out.println(
"获取位置超出了链表中元素个数"
+curIndex);
}
return
SqList[i-
1
];
}
/**
* 打印链表
* */
public
void
print()
{
for
(
int
i=
0
;i<curIndex;i++)
{
System.out.print(SqList[i]+
"\t"
);
}
System.out.println();
}
}
|
Main函数测试类
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
|
package
list;
public
class
SequenceListMain {
public
static
void
main(String[] args) {
SequenceList sqList =
new
SequenceList();
sqList.initList();
sqList.insertList(
1
);
sqList.insertList(
2
);
sqList.insertList(
3
);
sqList.insertList(
4
);
sqList.insertList(
5
);
sqList.insertList(
6
);
sqList.delete(
5
);
sqList.delete(
9
);
sqList.insertList(
1
);
sqList.print();
sqList.delete(
1
);
sqList.print();
System.out.println(
"第2个元素是:"
+sqList.getElement(
1
));
System.out.println(
"第4个元素是:"
+sqList.getElement(
4
));
}
}
|