更新時(shí)間:2022-08-10 11:08:59 來源:動(dòng)力節(jié)點(diǎn) 瀏覽924次
線性表插入元素的方法是什么?動(dòng)力節(jié)點(diǎn)小編為大家舉例說明。
題目描述
線性表的順序存儲(chǔ)中,有態(tài)存儲(chǔ),請用動(dòng)態(tài)存儲(chǔ)形式實(shí)現(xiàn)線性表的創(chuàng)建和插入某個(gè)元素,并顯示輸出結(jié)果
輸入
輸入包括:首先輸入線性表元素的個(gè)人,然后輸入相應(yīng)的元素,輸入插入的位置以及元素
輸出
輸出插入相應(yīng)元素后的線性表
樣例輸入
5 1 2 3 4 5
2 6
樣例輸出
1 6 2 3 4 5
#include <stdio.h>
#include <stdlib.h>
#define OK 1
#define ERROR 0
typedef struct
{
int *elem;
int length;
int listsize;
} SqList;
int initSqList_Sq(SqList *LA,int a_len)
{
//建立一個(gè)空表格
LA->elem=(int *)malloc(sizeof(int)*a_len);
if(!LA->elem)return ERROR;
LA->length=0;
LA->listsize=a_len;
return OK;
}
int insertList(SqList *LA,int weizhi,int shu )
{
int j;
if(weizhi<1&&weizhi>LA->length+1) return ERROR;
for(j=LA->length; j>=weizhi; j--)
{
LA->elem[j]=LA->elem[j-1];
}
LA->elem[weizhi-1]=shu;
LA->length++;
return OK;
}
int main()
{
SqList *LA;
int a_len,charu,shu,i;
LA=(SqList *)malloc(sizeof(SqList));
scanf("%d",&a_len);
initSqList_Sq(LA,a_len);
for(i=0; i<a_len; i++)
{
scanf("%d",&LA->elem[i]);
LA->length++;
}
scanf("%d %d",&charu,&shu );
insertList(LA,charu,shu);
for(i=0; i<LA->length; i++)
{
printf("%d ",LA->elem[i]);
}
}