数据结构与算法C程序(1数组)
- 1、包含的头文件
- 2、宏定义类型
- 3、元素结构体定义
- 4、操作函数
-
- 5、主函数测试
- 6、测试结果
1、包含的头文件
#include
#include
2、宏定义类型
#define MAXN 1024 //范围
#define DataType int //数据类型
#define True 1
#define Error 0
3、元素结构体定义
typedef struct Node
{
DataType data[MAXN]; //数据
int length; //储存的元素个数
} Node;
4、操作函数
元素索引
DataType SeqlistIndex(Node *sq,int i)
{
return sq->data[i];
}
元素查找
DataType SeqlistFind(Node *sq,DataType da)
{
int i;
for(i=0;ilength;i++)
{
if(da == sq->data[i])
{
return i;
}
}
return Error;
}
获取长度
DataType SeListGetLen(Node *sq)
{
return sq->length;
}
数据插入
DataType SeqListsert(Node *sq, int k, DataType da)
{
int i;
if(sq->length == MAXN)
{
return Error;
}
for(i = sq->length; i > k; i--)
{
sq->data[i] = sq->data[i-1];
}
sq->data[i] = da;
sq->length++;
return True;
}
数据删除
DataType SeqListDelete(Node *sq,int k)
{
int i;
if(sq->length == 0)
return Error;
for(i = k; i < sq->length-1;i++)
{
sq->data[i] = sq->data[i+1];
}
sq->length--;
return True;
}
5、主函数测试
void main()
{
int i;
Node Ar;
for(i = 0; i < 30; i++)
Ar.data[i] = i;
Ar.length = 30;
for(i = 0; i < 30; i++)
printf("%d ",Ar.data[i]);
printf("n");
printf("%d,%d,%dn",SeqlistIndex(&Ar,8),SeqlistFind(&Ar,9),SeListGetLen(&Ar));
SeqListsert(&Ar,8,32);
for(i = 0; i < 30; i++)
printf("%d ",Ar.data[i]);
printf("n");
SeqListDelete(&Ar,8);
for(i = 0; i < 30; i++)
printf("%d ",Ar.data[i]);
}
6、测试结果