#include<iostream>
#define MAX 20
using namespace std;
typedef struct node
{
int data[MAX];
int length;
}sqlist;
void initial(sqlist* s)
{
s->length = 0;
}
bool listempty(sqlist* s)
{
if (s->length == 0)
return true;
else
return false;
}
void clearlist(sqlist* s)
{
s->length = 0;
}
int listlength(sqlist* s)
{
return s->length;
}
void getelement(sqlist* s, int i, int *e)
{
if (s->length == 0 || i<1 || i>s->length)
{
return;
}
else
*e = s->data[i];
}
int loaction(sqlist* s, int e)
{
int i;
if (s->length == 0)
return 0;
for (i = 0; i < s->length; i++)
{
if (s->data[i] = e)
break;
}
if (i>s->length)
return 0;
return i + 1;
}
void insert(sqlist* s, int i, int c)
{
if (s->length == MAX)
return;
if (i<1 || i>s->length+1)
return;
if (i <= s->length)
{
for (int k = s->length - 1; k >= i - 1; k--)
{
s->data[k + 1] = s->data[k];
}
}
s->data[i - 1] = c;
s->length++;
}
void deletelist(sqlist* s, int i, int e)
{
for (int k = i; k < s->length; k++)
s->data[k - 1] = s->data[k];
s->length--;
}
void visit(int c)
{
cout << c << endl;
}
void travel(sqlist* s)
{
for (int i = 0; i < s->length; i++)
{
visit(s->data[i]);
}
cout << endl;
}
//void unionl(sqlist* s, sqlist b)
//{
// int alen, blen;
// int e;
// alen = listlength(s);
// blen = listlength(&b);
// for (int i = 1; i <= blen; i++)
// {
// getelement(&b, i, &e);
// if (!loaction(s, e))
// insert(s, ++alen, e);
// }
//
//}
int main()
{
sqlist s;
int e;
initial(&s);
cout << "初始化的长度" << s.length << endl;
for (int i = 1; i <= 6; i++)
insert(&s, 1, i);
travel(&s);
clearlist(&s);
cout << "清理后的长度" << s.length;
if (listempty(&s) == true)
cout << "成功" << endl;
else
cout << "失败" << endl;
for (int j = 1; j < 10; j++)
insert(&s, j, j);
travel(&s);
system("pause");
return 0;
}
顺序链表(数组形式)
最新推荐文章于 2023-10-02 20:41:16 发布