数据结构NOJ001顺序表的插入运算

该文章提供了一个使用C语言编写的顺序表插入功能的代码示例,适用于在校学生学习。代码在VisualStudio环境下编写,包含详细注释,便于理解和学习。通过输入元素个数和值,程序能将新元素按顺序插入到已排序的列表中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

不同于市面上的用c++写的noj,此文章由c写,符合在校生需求,且附有注释,希望能赞助,且看我慢慢更新。

代码由vs写。

#include<stdio.h>
#define MAX_LENGTH 1000

typedef struct SeqList
{
    int elenum;//元素个数
    int list[MAX_LENGTH];
}SeqList,*pSeqList;

void InsertSeqList( int x, pSeqList pl )
{
    int i,j;//定义循环变量i,j
    for( i=0; i<pl->elenum; i++ )
    {
        if( x<pl->list[i] )
        {
            for( j=pl->elenum-1; j>=i; j-- )//x插入位置后所有元素后移1位
            {
                pl->list[j+1]=pl->list[j];
            }
            pl->list[i]=x;
            pl->elenum++;
            return;
        }
    }
}

int main()
{
    SeqList l;
    pSeqList pl;
    int x;
    int i;
    pl = &l;
    scanf("%d",&(l.elenum));//输入元素个数
    for( i=0; i<l.elenum; i++ )//输入顺序表
    {
        scanf("%d",&l.list[i]);
    }
    scanf("%d",&x);//输入插入元素x
    InsertSeqList( x, pl );
    for( i=0; i<l.elenum; i++ )//输出插入后的顺序表
    {
        printf("%d ",l.list[i]);
    }
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值