C语言建立一个含有n个元素的顺序表
时间: 2023-11-22 09:55:36 浏览: 37
在C语言中建立一个含有n个元素的顺序表需要以下步骤:
1. 定义一个结构体来表示顺序表,包括一个数组和一个变量来记录当前元素个数。
```
typedef struct {
int data[MAXSIZE]; // 数组
int length; // 当前元素个数
} SeqList;
```
2. 在主函数中定义一个SeqList类型的变量,并初始化其长度为0。
```
SeqList L;
L.length = 0;
```
3. 插入元素时,先判断顺序表是否已满,若满则无法插入;否则,将待插入元素放在数组末尾,并将长度加1。
```
int Insert(SeqList *L, int x) {
if (L->length == MAXSIZE) { // 已满
return 0;
}
L->data[L->length] = x; // 放在末尾
L->length++; // 长度加1
return 1;
}
```
4. 查找元素时,遍历顺序表中的元素,如果找到则返回其下标;否则返回-1。
```
int Search(SeqList L, int x) {
for (int i = 0; i < L.length; i++) {
if (L.data[i] == x) { // 找到
return i;
}
}
return -1; // 未找到
}
```
5. 删除元素时,先查找待删除元素的下标,如果不存在则无法删除;否则,将其后面的元素依次往前移动一个位置,并将长度减1。
```
int Delete(SeqList *L, int x) {
int pos = Search(*L, x);
if (pos == -1) { // 不存在
return 0;
}
for (int i = pos; i < L->length - 1; i++) {
L->data[i] = L->data[i+1]; // 后面的元素往前移动
}
L->length--; // 长度减1
return 1;
}
```
以上就是建立一个含有n个元素的顺序表的基本步骤。在具体应用中,还需要考虑一些其他因素,比如顺序表的初始化、扩容等问题。