对顺序表的操作
#include <stdio.h>
#include "./sequlist.h"
int main(int argc, const char *argv[])
{
Seqlist* sq=seqlist();
insert_seqlist(sq,100);
insert_seqlist(sq,200);
insert_seqlist(sq,89);
insert_seqlist(sq,45);
insert_seqlist(sq,30);
show_seqlist(sq);
delete_index(sq,2);
show_seqlist(sq);
insert_index(sq,3,67);
show_seqlist(sq);
xiugai(sq,3,78);
show_seqlist(sq);
chaxun(sq,3);
show_seqlist(sq);
return 0;
#include <stdio.h>
#include <stdlib.h>
#include "./sequlist.h"
Seqlist *seqlist(void)
{
Seqlist *sq=(Seqlist*)malloc(sizeof(Seqlist));
if(NULL==sq)
{
printf("顺序表创建失败\n");
return NULL;
}
else
printf("顺序表创建成功\n");
sq->pos=0;
return sq;
}
void insert_seqlist(Seqlist* sq,dataType num)
{
if(sq->pos >=N)
{
printf("顺序表已满,插入失败\n");
return;
}
sq->data[sq->pos]=num;
sq->pos++;
return;
}
void show_seqlist(Seqlist* sq)
{
for (int i=0;i<sq->pos;i++)
{
printf("%d\t",sq->data[i]);
}
printf("\n");
return;
}
dataType delete_seqlist(Seqlist* sq)
{
if(sq->pos <=0)
{
printf("顺序表为空,删除失败\n");
return -1;
}
sq->pos--;
dataType num =sq->data[sq->pos];
return num;
}
void insert_index(Seqlist* sq,int index,dataType num)
{
if(sq->pos>=N)
{
printf("顺序表为满,插入失败\n");
return;
}
if(index<0 && index>sq->pos)
{
printf("index=%d位置非法,插入失败\n",index);
return;
}
for(int j=sq->pos;j>=index+1;j--)
{
sq->data[j]=sq->data[j-1];
}
sq->data[index]=num;
sq->pos++;
return;
}
void delete_index(Seqlist *sq,int index)
{
if(index<0 && index>sq->pos)
{
printf("index=%d位置非法,删除失败\n",index);
return;
}
printf("删除的数据:%d\n",sq->data[index]);
for (int j=index;j<=sq->pos-2;j++)
{
sq->data[j]=sq->data[j+1];
}
sq->pos--;
return;
}
void xiugai(Seqlist *sq,int index,dataType num)
{
if(index<0 && index>sq->pos)
{
printf("index=%d位置非法,删除失败\n",index);
return;
}
printf("被修改前的数据:%d\n",sq->data[index]);
sq->data[index]=num;
}
void chaxun(Seqlist *sq,int index)
{
if(index<0 && index>sq->pos)
{
printf("index=%d位置非法,删除失败\n",index);
return;
}
printf("要查询的数据:%d\n",sq->data[index]);
return;
}
#ifndef __SEQLIST__
#define __SEQLIST__
#define N 100
typedef int dataType;
typedef struct{
int data[N];
int pos;
}Seqlist;
Seqlist *seqlist(void);
void insert_seqlist(Seqlist* sq,dataType num);
void show_seqlist(Seqlist* sq);
dataType delete_seqlist(Seqlist* sq);
void insert_index(Seqlist* sq,int index,dataType num);
void delete_index(Seqlist *sq,int index);
void xiugai(Seqlist *sq,int index,dataType num);
void chaxun(Seqlist *sq,int index);
#endif
结果