线性表基本操作实现[持续更新中]
创始人
2025-05-28 23:04:58
#include
#define MAXSIZE 50//最大表长
#define ElemType inttypedef struct {//定义顺序表结构体ElemType data[MAXSIZE];//静态分配空间int length;
}SqList;
bool ListInsert(SqList &L,int i,ElemType e){//在指定位置插入元素if(i<1||i>L.length+1)    //检查插入位置的合法性return false;    if(L.length>=MAXSIZE)    //检查表是否满return false;for(int j=L.length;j>=i;j--){L.data[j]=L.data[j-1];//i后面的元素统统向后移动一格}L.data[i-1]=e;//在位序i处插入eL.length++;    //表长加1return true;
}
bool ListDelete(SqList &L,int i,ElemType &e){    //删除线性表中指定位置的元素并将其返回if(i<1||i>L.length)    //检查删除位置的合法性return false;e=L.data[i-1];for(int j=i;ji){temp=L.data[i];L.data[i]=L.data[j];//swapL.data[j]=temp;i++;j--;}
}
void deleteAll_X(SqList &L,ElemType x){//删除表中所有的值为x的元素int x_number=0;for(int i=0;i

线性表的基本操作包括:

  • 初始化表 InitList(SqList &L)

  • 插入元素ListInsert(SqList &L,int i,ElemType e)

  • 删除元素ListDelete(SqList &L,int i,ElemType &e)

  • 按值查找LocateElem(SqList L,ElemType e)

  • 按位查找GetElem(SqList L,int i)

  • 求表长 ListLength(SqList L)

  • 判空 Empty(SqList L)

  • ……

其他操作包括:

删除表中相同的元素x deleteAll_X(SqList &L,ElemType x)

逆值表中所有元素 Reverse(SqList &L)

打印表中内容 PrintList(SqList L)

相关内容

热门资讯

150欧元的刀终于刺向中国跨境... 出品|虎嗅商业消费组作者|周月明编辑|苗正卿题图|视觉中国欧盟这次终于把“刀”真正落在了跨境小包上。...
瑞幸不想困在9块9 本文来自微信公众号:山上,作者:何简,编辑:王彬,题图来自:视觉中国中国最大的连锁咖啡品牌瑞幸咖啡正...
DeepSeek给出了对寒武纪... 本文来自微信公众号:最话 FunTalk,作者:何伊然,编辑:刘宇翔,题图来自:AI生成一个有趣的问...
国产手机Air化成潮流,为啥手... 如果要问最近一段时间,手机市场最大的变革趋势是什么?并不是大家以为的折叠屏、AI手机什么的,而是Ai...
第一批大模型公司要上市了,问题... 本文系基于公开资料撰写,仅作为信息交流之用,不构成任何投资建议2025年12月17日,北京智谱华章科...