public class SeqList
{
private
int[] data
= new
int[10];
private
int size
= 0;
public
void display(){
System
.out
.print("[");
for (int i
= 0; i
< size
; i
++){
System
.out
.print(data
[i
]);
if(i
!= size
- 1){
System
.out
.print(",");
}
}
System
.out
.print("]");
}
public
void add(int pos
, int elem
){
if(pos
< 0 || pos
> size
){
return;
}
if(this
.size
>= this
.data
.length
){
realloc();
}
if(pos
== size
){
this
.data
[pos
] = elem
;
this
.size
++;
return;
}
for(int i
= this
.size
;i
>pos
;i
--){
this
.data
[i
] = this
.data
[i
-1];
}
this
.data
[pos
] = elem
;
this
.size
++;
}
private
void realloc(){
int[] newData
= new
int[this
.data
.length
* 2];
for (int i
= 0; i
< this
.data
.length
; i
++){
newData
[i
] = this
.data
[i
];
}
this
.data
= newData
;
}
public boolean
contains(int toFind
){
for(int i
= 0; i
< this
.size
; i
++){
if(this
.data
[i
] == toFind
){
return true
;
}
}
return false
;
}
public
int search(int toFind
){
for(int i
= 0; i
< this
.size
; i
++){
if(this
.data
[i
] == toFind
){
return i
;
}
}
return -1;
}
public
int getpos(int pos
){
return this
.data
[pos
];
}
public
void setPos(int pos
,int elem
){
this
.data
[pos
] = elem
;
}
public
void remove(int toRemove
){
int pos
= search(toRemove
);
if(pos
== -1){
return;
}
if(pos
== this
.size
- 1){
this
.size
--;
return;
}
for(int i
= pos
; i
< size
; i
++){
this
.data
[i
] = this
.data
[i
+ 1];
}
this
.size
--;
}
public
int size(){
return this
.size
;
}
public
void clear(){
this
.size
= 0;
this
.data
= new
int[10];
}
}
单元测试
public class Test
{
public
static void main(String
[] args
) {
TestAdd();
TestContains();
TestSearch();
TestRemove();
}
public
static void TestAdd() {
SeqList seqlist
= new
SeqList();
seqlist
.add(0, 1);
seqlist
.add(1, 2);
seqlist
.add(2, 3);
seqlist
.add(3, 4);
seqlist
.add(2, 2);
seqlist
.display();
}
public
static void TestContains() {
SeqList seqlist
= new
SeqList();
seqlist
.add(0, 1);
seqlist
.add(1, 2);
seqlist
.add(2, 3);
seqlist
.add(3, 4);
boolean result
= seqlist
.contains(4);
System
.out
.println(result
);
}
public
static void TestSearch(){
SeqList seqlist
= new
SeqList();
seqlist
.add(0, 1);
seqlist
.add(1, 2);
seqlist
.add(2, 3);
seqlist
.add(3, 4);
int result
= seqlist
.search(3);
System
.out
.println(result
);
}
public
static void TestRemove(){
SeqList seqlist
= new
SeqList();
seqlist
.add(0, 1);
seqlist
.add(1, 2);
seqlist
.add(2, 3);
seqlist
.add(3, 4);
seqlist
.remove(3);
System
.out
.println();
seqlist
.display();
}
}
转载请注明原文地址: https://mac.8miu.com/read-514718.html