数据结构,线性表的顺序实现,有插入、删除、定位查找函数

mac2024-10-18  4

以下线性表代码有插入、删除、定位查找功能,可以直接复制运行

#include"stdio.h" #define max 10 typedef struct{ int data1[max]; int n; }list; //删除 void del(list *l,int i) { int j; if(l->n<=0) return; if(i<=0||i>l->n) return; for(j=i;j<=l->n;j++) { l->data1[j]=l->data1[j+1]; } l->n--; } //插入 int insert(list *l,int i,int dat) { int j; if(l->n>=max) { printf("full!"); return 0; } if(l->n<0||l->n>max) { printf("error!"); return -1; } for(j=l->n+1;j>i;j--) { l->data1[j]=l->data1[j-1]; } l->data1[j]=dat; l->n++; return 1; } //定位查找 int locate(list *l,int x) { int i=1; while(i<=l->n && l->data1[i]!=x) { i++; } if(i>l->n) return -1; return i; } int main(void) { list l1; int s,s1; int i=0; l1.data1[1]=5; l1.n=1; s=insert(&l1,2,6); // del(&l1,2); s1=locate(&l1,6); for(i=1;i<=l1.n;i++) { printf("%d\n",l1.data1[i]); } printf("%d\n",s1); return 0; }
最新回复(0)