数据结构:自己动手写顺序表的插入操作

大家好,我是一名只接触过一点点c语言的编程小白,我希望在这个平台记录我自己写的代码,如果大家觉得我的代码哪里需要改进,可以评论留言,我会多加学习,另外,如果我写的代码给同样是小白的你有帮助,那我将不胜荣幸。

#define _CRT_SECURE_NO_WARNINGS 1
#include 
#define MAXSIZE 10
typedef struct Sqlist
{
    int data[MAXSIZE];
    int length;
}Sqlist;
bool Insert(Sqlist &sq, int x)
//对顺序表进行插入操作
{
    int i = 0;
    int length = sq.length;
    if (length == MAXSIZE)
    {
        return false;
    }
        
    while (x > sq.data[i] && i < length)
    {
        i++;
    }

    for (i; length > i;length--)
    {        
        sq.data[length] = sq.data[length - 1];
    }
    sq.data[i] = x;
    sq.length += 1;
    return true;
}
int main()
{
    int x = 100;
    //插入元素x
    Sqlist sq = { { 4, 5, 7, 9, 10, 13, 17, 21 }, 8 };
    if (Insert(sq, x))
    {
        printf("插入成功\n");
        for (int i = 0; i < sq.length; i++)
        {
            printf("%d、", sq.data[i]);
        }
    }
    else
    {
        printf("插入失败,顺序表满了。\n");
    }
    return 0;
}

你可能感兴趣的