线性表从第i个元素插入

简介: 线性表从第i个元素插入
// 链表2.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//群:970353786
#include <stdio.h>
#include <malloc.h>
#define Maxsize 100
typedef int ElemType;
typedef struct Sqlist
{
  ElemType data[Maxsize];
  int len;
};
//初始化线性表
void Initlist(Sqlist& sq)
{
  sq.len = 0;
}
//求线性表长度
int ListLength(Sqlist sq)
{
  return(sq.len);
}
//在第i个位置插入元素e
int ListInsert(Sqlist& sq, int i, ElemType e)
{
  int j;
  if (i<1 || i>sq.len + 1) return 0;//i不合法
  for (j = sq.len; j >= i; i--)
  {
    sq.data[j] = sq.data[j - 1];//把第i个元素到第n个元素后移,就会在第i个元素空出位置
  }
  sq.data[i - 1] = e;//插入e
  sq.len++;//插入数据后,长度加一
  return true;
}
int main()
{
  Sqlist sqa;//定义结构体变量
  Initlist(sqa);//调用初始化函数
  int i;
  ListInsert(sqa, 1, 2);//调用插入函数
  ListInsert(sqa, 2, 3);
  ListInsert(sqa, 3, 4);
  ListInsert(sqa, 4, 5);
  //printf_s("长度变为:%d", sqa.len);//当然也可以从插入函数里直接打印出长度
  printf("线性表长度为:%d", ListLength(sqa));//调用求长度函数
  printf_s("插入数据后变为:\n");
  for (i = 0; i < sqa.len; i++)//依次打印
  {
    printf_s("%d", sqa.data[i]);
  }
}
// 运行程序: Ctrl + F5 或调试 >“开始执行(不调试)”菜单
// 调试程序: F5 或调试 >“开始调试”菜单
相关文章
|
4月前
|
C++
C++数组中插入元素。
C++数组中插入元素。
|
5月前
|
存储
三种方法实现获取链表中的倒数第n个元素
三种方法实现获取链表中的倒数第n个元素
57 0
|
存储 机器学习/深度学习 人工智能
线性表的顺序实现
线性表的顺序实现
求链表的倒数第m个元素
求链表的倒数第m个元素
66 1
|
算法 Java
优雅的删除链表元素
大家好,我是王有志。今天我们尝试使用多种方法,“优雅”的实现链表的删除方法。
136 0
优雅的删除链表元素
|
存储 机器学习/深度学习 缓存
链表和有序二叉树插入元素时真的比数组快吗?
公司有位C++标准委员会的顾问大佬,一年会有几次视频讲座,分享一些编程要点或者经验。很多时候都是C++很基础的方面,但是他的讲解视频真的很深入浅出,有时候会“打破”一些理所应当的观点,这篇文章就是让我觉得很有趣,并且意想不到的地方,在这里分享一下。
链表和有序二叉树插入元素时真的比数组快吗?
链表oj题讲解(1)——移除链表元素
在初步给大家介绍链表之后,为了让大家更好的理解和巩固链表,小编这里会从易到难以此给大家带来一系列关于链表的oj题。那么接下来就让我们看看今天的例题。
65 1
|
存储
删除链表中相同的元素
链表是一种常见的数据结构,他是线性表的一种,他的典型特征就是数据结点之间通过指针相连,链表主要适合存储插入、删除操作比较频繁的数据。这篇文章总结如何删除链表中相同的元素。
174 0
删除链表中相同的元素
|
算法 搜索推荐 Java
Day5 数组中插入元素与插入排序
Day5 数组中插入元素与插入排序
Day5 数组中插入元素与插入排序