#include <stdio.h> #define MaxSize 50 typedef int ELemType; typedef struct SList{ ELemType data[MaxSize]; int len; }SList; //1 2 345 bool add(SList &L,int pos,int num){ if(pos<1||pos>L.len+1){ return false; }//插入位置是否合法 if(pos>MaxSize){ return false; }//是否越界 for (int i = L.len; i >= pos; i--) { L.data[i]=L.data[i-1]; } L.data[pos-1]=num; L.len++; return true; } void show(SList L){ for (int i = 0; i < L.len; i++) { printf("%3d",L.data[i]); } printf("\n"); } //12 3 45 bool del(SList &L,int pos){ if(pos<1||pos>L.len){ return false; } for (int i = pos; i <L.len; i++) { L.data[i-1]=L.data[i]; } L.len--; return true; } int find(SList L,int target){ for (int i = 0; i < L.len; i++) { if(L.data[i]==target){ return i+1; } } return 0; } int main() { SList L; L.data[0]=1; L.data[1]=5; L.data[2]=6; L.len=3; bool res=add(L,2,3); if(res){ show(L); } else{ printf("添加失败"); } res=del(L,3); if(res){ show(L); } else{ printf("删除失败"); } int r=find(L,6); if(res){ printf("position is %d",r); } else{ printf("not"); } return 0; }
顺序表插入删除查找
最新推荐文章于 2024-09-07 23:15:53 发布
本文详细介绍了在C语言中使用自定义结构体SList实现了一个简单的链表,包括添加、删除和查找功能的函数实现及其在main函数中的应用示例。
摘要由CSDN通过智能技术生成