侧边栏壁纸
  • 累计撰写 49 篇文章
  • 累计创建 5 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

顺序表

Administrator
2024-08-23 / 0 评论 / 0 点赞 / 10 阅读 / 2012 字
温馨提示:
本文最后更新于 2024-08-23,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

顺序表

#include <iostream>
using namespace std;

//顺序表容量 
const int MAX_SIZE = 100;

//结构体定义 
struct SeqList {
    int data[MAX_SIZE];
    int length;
};

//初始化顺序表 
void init(SeqList& L) {
    L.length = 0;
}

//判断是否为空 
bool isEmpty(SeqList L) {
    return L.length == 0;
}

//判断是否已满 
bool isFull(SeqList L) {
    return L.length == MAX_SIZE;
}

//指定位置插入元素 
void insert(SeqList& L, int pos, int value) {
    if(pos < 1 || pos > L.length + 1) {
        cout << "插入位置错误" << endl;
        return;
    }
    if(isFull(L)) {
        cout << "顺序表已满" << endl;
        return;
    }
    for(int i = L.length; i >= pos; i--) {
        L.data[i] = L.data[i - 1];
    }
    L.data[pos - 1] = value;
    L.length++;
}

//删除指定位置元素 
void remove(SeqList& L, int pos) {
    if(pos < 1 || pos > L.length) {
        cout << "删除位置错误" << endl;
        return;
    }
    if(isEmpty(L)) {
        cout << "顺序表为空" << endl;
        return;
    }
    for(int i = pos - 1; i < L.length - 1; i++) {
        L.data[i] = L.data[i + 1];
    }
    L.length--;
}

//遍历顺序表 
void traverse(SeqList L) {
    if(isEmpty(L)) {
        cout << "顺序表为空" << endl;
        return;
    }
    for(int i = 0; i < L.length; i++) {
        cout << L.data[i] << " ";
    }
    cout << endl;
}
0

评论区