线性表基本操作实现[持续更新中]
创始人
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)

相关内容

热门资讯

『2025王昕年度演讲·洞见昕... 2025年12月18日19:08-22:08,由知名招商专家、大商之道招商产业集团联合创始人、全网1...
吴泳铭:重估阿里的“关键先生”... 他的每一步思考和判断,都将影响阿里未来的竞争站位。文|《中国企业家》记者 邓双琳编辑|马吉英头图来源...
美女负责人受贿逾540万,中信... 据财新报道,因在公司债“19路劲01”发行过程中私下收取返费,中信建投(601066.SH)原债承部...
李嘉诚港口交易再反转,中方要求... 李嘉诚港口交易再反转,中方明确表态,中国企业必须要拿下控股权!否则,贝莱德就别想买下这43个港口了,...
轻松健康港交所挂牌,打造“AI... 12月23日,中国领先的数字健康服务平台——轻松健康集团(股票代码:2661.HK)正式在香港联合交...