Hi~ o(* ̄▽ ̄*)ブ
这是我根据王道数据结构中的线性表部分写的代码,这里分享给大家,欢迎大家分享交流!
顺序表://头文件
#pragma once #include#define MaxSize 10 using namespace std; typedef struct { int data[MaxSize]; int length; }SqList; void InitList(SqList& L); bool ListInsert(SqList& L, int i, int e); bool ListDelete(SqList& L, int i, int& e); int LocateElem(SqList L, int e); int GetElem(SqList L, int i);
//函数部分
#include"SqList.h"
//初始化
void InitList(SqList& L) {
for (int i = 0; i < MaxSize; i++)
L.data[i] = 0;
L.length = 0;
}
//顺序表插入操作
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[j] = L.data[j - 1];
L.data[i - 1] = e;
L.length++;
return true;
}
//顺序表删除操作
bool ListDelete(SqList& L, int i, int& e) {
if (i<1 || i>L.length)
return false;
e = L.data[i - 1];
for (int j = i; j < L.length; j++)
L.data[j - 1] = L.data[j];
L.length--;
return true;
}
//顺序表按值查找
int LocateElem(SqList L, int e) {
int i;
for (i = 0; i < L.length; i++)
if (L.data[i] == e)
return i + 1;
return 0;
}
//顺序表按位查找
int GetElem(SqList L, int i) {
if (i<1 || i>L.length)
return -1;
return L.data[i - 1];
}



