星球的眼睛 发表于 2025-2-14 13:49:26

数据结构(考研)

线性表

次序表

次序表的静态分配 

//线性表的元素类型为 ElemType

//顺序表的静态分配
#define MaxSize=10
typedef int ElemType;
typedef struct{
        ElemType data;
        int length;
}SqList;
次序表的动态分配 

https://i-blog.csdnimg.cn/direct/ea4880247beb490c969b87b3d9b3bdeb.png
//顺序表的动态分配
#define InitSize 10
typedef struct{
        ElemType * data;
        int MaxSize
        int length;
}SqList;

//初始化
void InitList(SqList &L)
{
        L.data=(ElemType *)malloc(InitSize*sizeof(ElemType));
        L.length=0;
        L.MaxSize=InitSize;
}  插入操作 O(n)

//插入操作
#define MaxSize=10
typedef int ElemType;
typedef struct{
        ElemType data;
        int length;
}SqList;

bool ListInsert(SqList &L,int i,int 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=L.data;
        }
        L.data=e;
        return true;
}
删除操作 O(n)

//删除操作
#define MaxSize=10
typedef int ElemType;
typedef struct{
        ElemType data;
        int length;
}SqList;
bool ListDelete(SqList &L,int i,ElemType &e)
{
        if(i<1||i>L.length) return false;
        e=L.data;
        for(int j=i;j<L.length;j++)
        {
                L.data=L.data;
        }
        L.length--;
        return true;
       
}
按值查找  O(n)
int LocateElem(SqList L,ElemType e)
{
    int i;
    for(i=0;i<L.length;i++)
    {
        if(L.data==e) return i+1;
    }
    return 0;
 } 
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 数据结构(考研)