顺序表按下标修改和按下标插入。
#ifndef __HEAD_H__
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAXSIZE 10
typedef struct Sqlist
{
int len;//顺序表长度
int date[MAXSIZE];//数据元素
}sqlist;
sqlist * creat();
int full_sqlist(sqlist*list);
int insert_rear(sqlist*list,int e);
int empty_sqlist(sqlist*list);
int output(sqlist*list);
int deleat(sqlist*list);
int serch(sqlist*list,int sub);
int change(sqlist*list,int num,int element);
int put_into(sqlist*list,int index,int content);
#endif
// head.h
int change(sqlist*list,int num,int element)
{
if(NULL==list||empty_sqlist(list)||num<0||num>=list->len)
{
printf("error");
return -1;
}
list->date[num]=element;
return 0;
}
int put_into(sqlist*list,int index,int content)
{
if(NULL==list||full_sqlist(list)||index<0||index>list->len)
{
printf("error");
return -1;
}
for(int j=list->len-1;j>=index;j--)
{
list->date[j+1]=list->date[j];
}
list->date[index]=content;
list->len++;
return 0;
}
// test.c
int num,element;
printf("请输入修改的下标和值:");
scanf("%d %d",&num,&element);
change(list,num,element);
output(list);
int index,content;
printf("请输入插入的下标和值:");
scanf("%d %d",&index,&content);
put_into(list,index,content);
output(list);
// main.c
思维导图