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

相关内容

热门资讯

华纳收购战再升级!埃里森亲自兜... 甲骨文创始人拉里·埃里森(Larry Ellison)正动用其个人财富,为其子领导的派拉蒙(Para...
美国“万亿私募信贷大故事”正在... 美国私募信贷市场——这一曾被华尔街鼓吹为个人投资者“避风港”和稳定收益来源的万亿级领域,正面临着基本...
罗永浩录音还未公布,华与华兄弟... 澎湃新闻记者 戴高城12月22日,读客文化(301025.SZ)的一纸停牌公告,将华楠、华杉兄弟推上...
万亿长沙银行换帅,“70后”女... 出品|达摩财经12月19日,长沙银行(601577.SH)发布公告称,该行董事会收到董事长赵小中的辞...
54岁恒隆集团CEO卢韦柏官宣... 红星资本局12月22日消息,日前,恒隆集团(00010.HK)、恒隆地产(00101.HK)联合公告...