#include<stdio.h>
#include<stdbool.h>
#define Maxsize 20
typedef int ElemType; //这个做法的目的是将ElemType等效于变量类型定义名int,相当于给int取了个新名字ElemType;
// 比如定义一个整型数组的一般方式是 int array[],现在可以使用ElemType array[]的方式来定义一个整型数组;
typedef struct {
ElemType array[Maxsize];
int length;
}Sqlist;
//顺序表的初始化
void init(Sqlist* L)
{
L->length = 0;
}
// 添加数据
void assert(Sqlist* L, int number)
{
if (L->length < Maxsize)
{
L->array[L->length] = number;
L->length++;
}
else
{
printf("顺序表已满!\n");
}
}
//顺序表的查找
void find(Sqlist* L,int number)
{
bool tag = true;
for (int i = 0; i < Maxsize; i++)
{
if (number == L->array[i])
{
printf("目标数据的下标为%d:\n", i);
tag = false;
}
}
if (tag)
{
printf("顺序表中没有该数据!\n");
}
}
//删除特定位置的元素
void delete(Sqlist* L, int position)
{
for (int i = position; i < L->length; i++)
{
L->array[i] = L->array[i + 1];
}
}
//打印顺序表
void print(Sqlist* L)
{
for (int i = 0; i < L->length; i++)
{
printf("%d ", L->array[i]);
}
L->length--;
}
int main()
{
Sqlist L;
init(&L);
for (int i = 2; i < 10; i++)
{
assert(&L, i);
}
print(&L);
printf("\n");
assert(&L, 8);
print(&L);
printf("\n");
find(&L, 90);
delete(&L, 4);
print(&L);
printf("\n");
return 0;
}
C语言:顺序表
最新推荐文章于 2025-03-13 00:08:53 发布