尼采般地抒情

公告栏

此网站主题为本人手写主题,主题还在开发中……


作者:尼采般地抒情
本站主页面和blog页面暂时一样,目的是为了百度收录,百度收录之后,会将主页换回引导页~

站点信息

文章数目:195
已运行时间:
目录
  1. 代码

尼采般地抒情

尼采般地抒情

公告栏

此网站主题为本人手写主题,主题还在开发中……


作者:尼采般地抒情
本站主页面和blog页面暂时一样,目的是为了百度收录,百度收录之后,会将主页换回引导页~

站点信息

文章数目:195
已运行时间:
类似一个简易版本的数组

代码

#include<bits/stdc++.h>
using namespace std;
#define MAXSIZE 100

/**
 * 顺序表
 *
 * 顺序表的基本操作: 初始化、打印、取值、查找、插入、删除、升序、逆置
 */


/* 顺序表的存储形式就是连续存储空间,地址连续的,其实就是数组 */
typedef struct {
    int *arr;
    int length;
}SqList;


/* 初始化 */
void InitList(SqList &L)
{
    L.arr = new int[MAXSIZE];
    if (!L.arr) exit(-1);
    L.length = 0;
}

/* 初始化添加元素 */
void ListInsert(SqList &L) {
    cout << "请输入元素个数n:";
    int n;
    cin >> n;
    for (int i = 0; i < n;i++){
        cin >> L.arr[i];
        L.length++;
    }
}
/* 打印 */
void TraverseList(SqList &L) {
    cout << "该顺序表元素遍历结果为:";
    for (int i = 0; i < L.length;i++) {
        cout << L.arr[i] << ' ';
    }
    cout << "\n";
}
/* 最大值 */
void NumberMax (SqList &L){
    cout << "该顺序表最大值为:";
    int max = L.arr[0];
    for (int i = 0; i < L.length;i++) {
        if(L.arr[i]>max)
            max = L.arr[i];
    }
    cout << max<<"\n";
}

/* 插值 */
void InsertOneElement (SqList &L) {
    cout << "请分别输入在n位置插入的e值:";
    int n;
    int e;
    cin >> n >> e;
    for (int i = L.length - 1; i >= n-1;i--){
        L.arr[i + 1] = L.arr[i];
    }
    L.arr[n-1] = e;
    L.length++;
    cout << "\n"<<"插入值之后的顺序表为:";
    TraverseList(L);
}

/* 删除 */
void DeleteOneElement (SqList &L) {
    cout << "请输入要删除n位置的n值:";
    int n;
    cin >> n;
    for (int i = 0; i < L.length;i++){
        if (i>=n-1){
            L.arr[i] = L.arr[i + 1];
        }
    }
    L.length--;
    cout << "\n"<<"删除值之后的顺序表为:";
    TraverseList(L);
}
/* 升序 */
void IncrList (SqList &L) {
    cout << "升序之后的顺序表为:";
    for (int i = 0; i < L.length;i++){
        for (int j = 0; j < L.length;j++){
            if (L.arr[j]>L.arr[i]) {
                int temp;
                temp = L.arr[j];
                L.arr[j] = L.arr[i];
                L.arr[i] = temp;
            }
        }
    }
    TraverseList(L);
}
/* 逆置 */
void ReverseList (SqList &L) {
    cout << "逆序之后……";
    for (int i = 0; i < L.length / 2;i++){
        int temp;
        temp = L.arr[i];
        L.arr[i] = L.arr[L.length-i-1];
        L.arr[L.length-i-1] = temp;
    }
    TraverseList(L);
}


int main () {
    SqList test;
    InitList(test);//1
    ListInsert(test);//1
    TraverseList(test);//1
    NumberMax(test);//2
    InsertOneElement(test);//3
    DeleteOneElement(test);//4
    IncrList(test);//5
    ReverseList(test);//6
}

博客内容遵循: 署名-非商业性使用-禁止演绎 4.0 国际(CC BY-NC-ND 4.0)

本文永久链接: https://www.wztlink1013.com/blog/nlhg88/

编辑: 部署: 订阅:

评论区

Twikoo 转换 utterances

最新评论

Loading...