#include<iostream>
const int MaxListSize
= 100;
class List
{
private
:
int data
[MaxListSize
];
int size
;
public
:
List(){
size
= 0;
}
void Clear() {
size
= 0;
}
bool
IsEmpty();
int GetElem(int i
);
int Locate(int e
);
int Prior(int e
);
int Next(int e
);
void Insert(int i
, int e
);
int Delete(int i
);
int Length() {
return size
;
}
void print();
};
bool List
::IsEmpty()
{
if (size
== 0)
{
return true
;
}
return false
;
}
int List
::GetElem(int i
)
{
if(i
< 1 || i
> size
)
{
std
::cout
<< "位置不正确" << std
::endl
;
exit(0);
}
else
{
return data
[i
- 1];
}
}
void List
::print()
{
if(size
== 0)
{
std
::cout
<< "空表,无元素";
exit(0);
}
for (int i
= 0; i
< size
; i
++)
{
std
::cout
<< data
[i
] << " ";
}
std
::cout
<< std
::endl
;
}
void List
::Insert(int i
, int e
)
{
if(i
< 1 || i
> size
+ 1 || size
>= MaxListSize
)
{
std
::cout
<< "插入不成功" << std
::endl
;
exit(0);
}
for (int j
= size
- 1; j
>= i
- 1; j
--)
{
data
[j
+ 1] = data
[j
];
}
data
[i
- 1] = e
;
size
++;
}
int List
::Delete(int i
)
{
if(i
< 1 || i
> size
)
{
std
::cout
<< "删除位置不正确" << std
::endl
;
exit(0);
}
int e
= data
[i
- 1];
for(int j
= i
- 1; j
< size
- 1; j
++)
{
data
[j
] = data
[j
+ 1];
}
size
--;
return e
;
}
int List
::Locate(int e
)
{
int i
= 1;
while(i
<= size
&& data
[i
- 1] != e
)
{
i
++;
}
if(i
> size
)
{
return 0;
}
return i
;
}
int main()
{
int a
[8] = {3, 6, 9, 12, 15, 18, 21, 24};
List t
;
for(int i
= 0; i
< 8; i
++)
{
t
.Insert(i
+ 1, a
[i
]);
}
t
.Insert(9, 99);
t
.Insert(10, 45);
t
.Insert(1, 6969);
int index
= t
.GetElem(10);
std
::cout
<< index
<< std
::endl
;
t
.print();
return 0;
}
转载请注明原文地址: https://mac.8miu.com/read-484609.html