首页 > 其他 > 详细

【数据结构】顺序表的操作例2-1(TQ-P25)

时间:2021-07-13 20:31:23      阅读:14      评论:0      收藏:0      [点我收藏+]

技术分享图片

#include <bits/stdc++.h>

#define maxSize 100

using namespace std;

typedef struct
{
    int data[maxSize];
    int length;
} SqList;

//输入
void input(SqList &L)
{
    L.length = 0; //初始化顺序表长度为0

    int x, i = 0;
    scanf("%d", &x);

    while (x != 9999)
    {
        L.data[i] = x;
        L.length++;
        i++;
        scanf("%d", &x);
    }
}

//输出
void output(SqList &L)
{
    for (int i = 0; i < L.length; i++)
    {
        printf("data[%d]=%d\n", i, L.data[i]);
    }
}

//返回第一个比x大的元素的位置
int findElem(SqList &L, int x)
{
    int i;
    for (i = 0; i < L.length; i++)
    {
        if (L.data[i] > x)
        {
            return i;
        }
    }
    return i;
}

//插入元素
void insertElem(SqList &L, int x)
{
    int p = findElem(L, x); //找到插入位置p
    for (int i = L.length - 1; i >= p; i--)
    {
        L.data[i + 1] = L.data[i];
    }
    L.data[p] = x;
    L.length++;
}

int main()
{
    SqList L;

    input(L);

    output(L);

    insertElem(L, 3);

    printf("\n");

    output(L);

    return 0;
}

input:

1
2
4
5
6
9999

output:

data[0]=1
data[1]=2
data[2]=4
data[3]=5
data[4]=6

data[0]=1
data[1]=2
data[2]=3
data[3]=4
data[4]=5
data[5]=6

【数据结构】顺序表的操作例2-1(TQ-P25)

原文:https://www.cnblogs.com/zhulu506/p/15007585.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!