#include <stdio.h>
#include<stdlib.h>
#define MAX 100
typedef struct List
{
int length;
int data[MAX];
}*Lists,list;
Lists init()
{
Lists H=(Lists)malloc(sizeof (list));
if(H)
H->length=0;
return H;
}
void Insert(Lists H,int i,int x)
{
int j;
if(!H)
{
printf("表不存在");
//return -1;
}
if(H->length>=MAX){
printf("表溢出");
}
if(i<1||i>MAX+1){
printf("插入位置不正确");
}
for(j=H->length-1;j>=i-1;j--)
H->data[j+1]=H->data[j];
H->data[i-1]=x;
H->length++;
//return 1;
}
void Delete(Lists H,int i){
int j;
if(!H)
{
printf("表不存在");
}
while (i>H->length) {
printf("溢出");
i++;
}
if(i<1||i>H->length){
printf("位置不合理");
}
for(j=i;j<H->length;j++)
H->data[j-1]=H->data[j];
H->length--;
}
void selete(Lists H,int x){
int i=0;
while (i<=H->length) {
if(H->data[i]==x){
printf("-------->%d",i);
break;
}
i++;
}
}
void Print_SeqList(Lists PL)
{
int i = 0;
if (!PL)
{
printf("表不存在");
//return(-1);
}
while (i < PL->length)
{
printf("%d ", PL->data[i]);
i++;
}
//return(1);
}
int main()
{
Lists H;
H=init();
int i;
for(i=1;i<=5;i++)
{
Insert(H,i,i);
}
Print_SeqList(H);
Delete(H,2);
printf("\n");
Print_SeqList(H);c
printf("\n");
selete( H, 4);
return 0;
}
数据结构(顺序表)
最新推荐文章于 2025-05-03 12:47:07 发布