c构建线性表的基本操作
时间: 2023-05-23 17:01:00 浏览: 104
C、C++线性表基本操作的详细介绍
C语言构建线性表的基本操作包括:创建空表、插入元素、删除元素、查找元素、获取长度等。在创建线性表时需要声明相应的结构体,例如:
typedef struct {
int data[MAXSIZE];
int length;
} SqList;
其中,MAXSIZE 是预定义的线性表最大长度,data 是一个数组用来存放元素,length 表示当前线性表中元素的个数。创建空表可以通过以下代码实现:
void InitList(SqList *L)
{
L->length = 0;
}
在插入元素时需要考虑元素的位置,可以使用以下代码实现:
Status ListInsert(SqList *L, int i, int e)
{
int j;
if(i < 1 || i > L->length+1)
return ERROR;
if(L->length >= MAXSIZE)
return ERROR;
for(j=L->length; j>=i; j--)
L->data[j] = L->data[j-1];
L->data[i-1] = e;
L->length++;
return OK;
}
其中,i 表示插入的位置,e 表示插入的元素,如果插入位置不合法则返回 ERROR,如果线性表已满则返回 ERROR,否则在指定位置插入元素,并将线性表长度加一。
删除元素的操作可以使用以下代码实现:
Status ListDelete(SqList *L, int i)
{
int j;
if(i < 1 || i > L->length)
return ERROR;
for(j=i; j<L->length; j++)
L->data[j-1] = L->data[j];
L->length--;
return OK;
}
其中,i 表示删除元素的位置,如果位置不合法则返回 ERROR,否则将指定位置的元素删除,并将线性表长度减一。
查找元素可以使用以下代码实现:
int LocateElem(SqList L, int e)
{
int i;
for(i=0; i<L.length; i++)
if(L.data[i] == e)
return i+1;
return 0;
}
其中,e 表示需要查找的元素,如果找到了则返回该元素在线性表中的位置,否则返回 0。
获取长度可以使用以下代码实现:
int ListLength(SqList L)
{
return L.length;
}
以上就是 C 语言构建线性表的基本操作。
阅读全文