#include "./func.h"
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
Seq* create_seq()
{
Seq *list = (Seq*)malloc(sizeof(Seq));
memset(list,0,sizeof(Seq));
return list;
}
//插入数据
int indata(Seq* list,dataType data)
{
//判断是否为满
if(list->pos >= N)
{
printf("插入失败,顺序表已满\n");
return;
}
list->data[list->pos]=data;
list->pos++;
return 0;
}
//遍历数据
void showdata(Seq* list)
{
for(int i=0;i<(list->pos);i++)
{
printf("%d\n",list->data[i]);
}
return;
}
//删除数据
void deldata(Seq* list)
{
//判断删除位置是否合理
if(list->pos==0)
{
printf("删除数据失败");
return;
}
list->pos--;
dataType data1=list->data[list->pos];
printf("数据%d已删除\n",data1);
return;
}
//按位置插入
void wzindata(Seq* list,int index,dataType data)
{
int i;
for(i = list->pos; i >= index ; i--)
{
list->data[i+1] = list->data[i];
}
list->data[index] = data;
list->pos++;
}
//按位置删除
void wzdeldata(Seq* list,int index,dataType data){
int i;
for(i = index; i < list->pos; i++){ //从index后一位开始覆盖
list->data[i] = list->data[i+1];
}
list->pos--;
return;
1 #ifndef __FUNC__
2 #define __FUNC__
3
4 #define N 5
5 typedef int dataType;
6 typedef struct
7 {
8 dataType data[N];
9 int pos;
10 }Seq;
11
12
13 Seq* create_seq();
14 int indata(Seq* list,dataType data);
15 void showdata(Seq* list);
16 void deldata(Seq*list);
17 void wzindata(Seq*list,int index ,dataType data);
18
19 #endif
~
~
~