#include
<
stdio.h
>
#define
MAXSIZE 100
#define
non -1
#define
true -2
#define
false -3
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
typedef
struct
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
int data[MAXSIZE];
int length;
}
seqList;
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
/**/
/*****************************
Function:Initlize sequence list
Param List: void
Return Type: seqList
*****************************/
seqList SeqListInit()
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
int i;
seqList L;
for(i = 0; i < MAXSIZE; i ++)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
/**//*Initlize data field*/
L.data[i] = 0;
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
/**//*The length of data is empty*/
L.length = 0;
return L;
}
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
/**/
/****************************
Function:Delet sequence list
Param List: seqList L
Return Type: void
*****************************/
void
ListClear(seqList L)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
int i;
for(i = 0; i < L.length; i ++)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
L.data[i] = 0;
}
L.length = 0;
}
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
/**/
/******************************
Function: Check sequence list
whether is empty
Param List: seqList L
Return Type: int
*******************************/
int
ListIsEmpty(seqList L)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
if(L.length == 0)
return true;
else
return false;
}
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
/**/
/********************************
Function: Identify the length of
sequence list
Param List: seqList L
Return Type: int
**********************************/
int
ListLength(seqList L)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
return L.length;
}
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
/**/
/**********************************
Function: Check sequence list whether
is full
Param List: seqList L
Return Type: int
**********************************/
int
ListIsFull(seqList L)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
if(L.length == MAXSIZE)
return true;
else
return false;
}
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
/**/
/***********************************
Function: Traverse whole list
Param List: seqList L
Return Type: void
************************************/
void
ListTraverse(seqList L)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
if(ListIsEmpty(L) == true)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
printf("List is empty");
getchar();
return;
}
else
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
int i;
for(i = 0; i < L.length; i ++)
L.data[i];
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
/**/
/***********************************
Function: Locate the data in
sequence list
Param List: seqList L, int x
Return Type: int
************************************/
int
ListLocate(seqList L,
int
x)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
if(ListIsEmpty(L) == true)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
printf("List is empty ");
getchar();
return false;
}
else
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
int i;
for(i = 0; i < L.length; i ++)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
if(L.data[i] == x)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
return i; /**//*return Located number*/
}
if(i >= L.length)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
return non; /**//*Non data is satisfied*/
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
/**/
/***********************************
Function: Insert a data in sequence
list into seqList L
Param List: seqList L, int x
Return Type: void
************************************/
void
ListInsert(seqList L,
int
locatedX,
int
newData)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
if(ListIsEmpty(L) == true)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
printf("List is empty ");
getchar();
return false;
}
else
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
int i;
for(i = L.length - 1; i >= locatedX - 1; i --)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
L.data[i + 1] = L.data[i];
}
L.data[locatedX] = newData;
L.length ++;
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
/**/
/***********************************
Function: Delete data[locatedX -1]
in sequence list L
Param List: seqList L, int i
Return Type: void
************************************/
void
ListDelete(seqList L,
int
locatedX)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
if(ListIsEmpty(L) == true)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
printf("List is empty ");
getchar();
return false;
}
else
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
int i;
for(i = locatedX -1; i < L.length - 1; i++)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
L.data[i] = L.data[i + 1];
}
L.length --;
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
/**/
/***********************************
Function: Locate the prior data
of current data in sequence
list
Param List: seqList L, int i
Return Type: int
************************************/
int
ListPrior(seqList L,
int
data)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
if(ListIsEmpty(L) == true)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
printf("List is empty ");
getchar();
return false;
}
else
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
int i;
for(i = 0; i < L.length; i++)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
if(L.data[i] == data)
return L.data[i - 1];
}
if(i >= L.length)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
printf("Can not find %d in sequence list",data);
getchar();
return non;
}
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
/**/
/***********************************
Function: Locate the next data of
current data in sequence list
Param List: seqList L, int i
Return Type: int
***********************************/
int
ListNext(seqList L,
int
data)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
if(ListIsEmpty(L) == true)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
printf("List is empty ");
getchar();
return false;
}
else
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
int i;
for(i = 0; i < L.length; i++)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
if(L.data[i] == data)
return L.data[i + 1];
}
if(i >= L.length)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
printf("Can not find %d in sequence list",data);
getchar();
return non;
}
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
/**/
/***********************************
Function: Painting menu of operation
of sequence list
Param List: void
Return Type: void
***********************************/
void
ListOperationMenu(
void
)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
printf(" ");
printf("1. ");
printf("2. ");
printf("3. ");
printf("4. ");
printf("5. ");
switch(getch())
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
case '1':
break;
case '2':
break;
case '3':
break;
case '4':
break;
case '5':
break;
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
/**/
/***********************************
Function: Painting main menu of Application
Param List: void
Return Type: void
***********************************/
void
MainMenuPaint(
void
)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
printf(" 1.Initlize a sequence list ");
printf(" 0.Quit");
switch(getch())
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
case '1':
ListOperationMenu();
break;
case '0':
printf(" Press any key to quit");
getch();
exit(0);
break;
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
/**/
/************************************
Function: Main
Param List: void
Return Type: int
**************************************/
int
main()
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
while(1)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
MainMenuPaint();
}
}
数据结构实验顺序表代码,大部分function实现,未作main调用处理。
有时间继续整理。