西南科技大学 swust OJ 943: 顺序表插入操作的实现
题目描述
建立长度为n的顺序表,在指定的数据元素item之前插入数据元素data。如果指定的数据元素item不存在,则将data插入到顺序表的尾端。(数据类型为整型)
输入
第一行为顺序表的长度n; 第二行为顺序表中的数据元素; 第三行为指定的数据元素item; 第四行为要插入的数据元素data;
输出
输出结果为顺序表中的数据元素。
样例输入
10 10 20 30 40 50 60 70 80 90 100 50 55
样例输出
10 20 30 40 55 50 60 70 80 90 100
#include<stdio.h>
#include<malloc.h>typedef struct
{int *array;int length;int size;
}sqList;sqList createList()
{int n,temp;sqList L;scanf("%d",&n);L.array = (int *)malloc(sizeof(int)*n);for(int i=0; i<n; i++){scanf("%d",&temp);L.array[i] = temp;}L.length=n;L.size = n;return L;
}sqList InsertElem(sqList L,int item,int elem)
{int i=0;for(i=0;i<L.length;i++){if(L.array[i]==item){L.array=(int *)realloc(L.array,sizeof(int)*(L.length+1));for(int j=L.length;j>i;j--){L.array[j] = L.array[j-1];}L.array[i]=elem;L.length++;return L;break;}}if(i==L.length){L.array=(int *)realloc(L.array,sizeof(int)*(L.length+1));L.array[L.length]=elem;L.length++;return L;}
}void Display(sqList L)
{for(int i=0;i<L.length-1;i++){printf("%d ",L.array[i]);}printf("%d\n",L.array[L.length-1]);
}int main()
{int item,elem;sqList L = createList();scanf("%d",&item);scanf("%d",&elem);L = InsertElem(L,item,elem);Display(L);return 0;
}
西南科技大学 swust OJ 943: 顺序表插入操作的实现相关推荐
- 西南科技大学OJ题 顺序表插入操作的实现0943
顺序表插入操作的实现 建立长度为n的顺序表,在指定的数据元素item之前插入数据元素data.如果指定的数据元素item不存在,则将data插入到顺序表的尾端.(数据类型为整型) 输入 第一行为顺序表 ...
- 西南科技大学 swust oj #952: 单链表的插入操作的实现
题目描述 建立长度为n的单链表,在第i个结点之前插入数据元素data. 输入 第一行为自然数n,表示链式线性表的长度: 第二行为n个自然数表示链式线性表各元素值: 第三行为指定插入的位置i:第四行为待 ...
- 顺序表的操作实验(数据结构)
顺序表的操作实验 一.实验名称和性质 二.实验目的 1.掌握线性表的顺序存储结构的表示和实现方法. 2.掌握顺序表基本操作的算法实现. 3.了解顺序表的应用. 三.实验内容 1.建立顺序表. 2.在顺 ...
- 顺序表-插入一个元素x后保持该顺序表L递增有序排序(查找+元素后移插入)
顺序表的存储结构: typedef struct{int data[Maxsize]; //存在顺序表中的元素int length; //存放顺序表的长度}SqList; 分析: 要保持插入一个元素后 ...
- 顺序表插入算法的时间复杂度以及顺序表常考问题
插入算法的实现思路 假设我们要在第3个位置(i=3)上插入某一个数,顺序表初始化为P=(1,2,3,4,5,6).我们可以根据下面的图示理解整个算法过程. 需要注意的是,插入位置i是表示第几个位置而不 ...
- 在顺序表中第五个位置插入一个元素9,实现顺序表插入的基本操作,输出顺序表中所有元素
题目 在顺序表中第五个位置插入一个元素9,实现顺序表插入的基本操作,输出顺序表中所有元素 #include<iostream>using namespace std; #define OK ...
- (王道408考研数据结构)第二章线性表-第二节2:顺序表的操作
文章目录 一:顺序表初始化和销毁 二:顺序表的打印 三:顺序表插入 四:顺序表的删除 五:顺序表查找 (1)使用顺序查找法查找 (2)使用二分查找法完成 顺序表使用动态数组方式实现,结点定义如下 ty ...
- 实验报告微型计算机拆卸顺序表,顺序表的操作实验报告馒头制作.doc
顺序表的操作实验报告馒头制作 实验二 顺序表的操作实验报告 班 级10计科2学号20104012010姓名翁朝伟实验名称顺序表的操作实验目的掌握线性表的顺序存储结构的基本概念.基本操作和应用实验环境硬 ...
- 数据结构专题(一):1.3.顺序表插入删除
如下代码: //插入元素:在指定的位置插入给定的值 //插入的位置为K:0 -- n-1 //顺序表:不满 //pList:目标顺序表,x待插入的元素,k插入的位置 int InsertElemSqL ...
最新文章
- Android 2D游戏引擎AndEngine配置环境
- Linux系统中ctrl+c、 ctrl+z、 ctrl+\ 产生的信号名称
- ueditor版本python3_GitHub - crazyinstall/DjangoUeditor3: Django Ueditor 兼容Python3改进,Python2上也可用...
- 基于Java语言构建区块链(六)—— 交易(Merkle Tree)
- 修改服务器劫包,APP游戏TCP包被劫持篡改的一些解决方案
- golang sync WaitGroup
- php文件安全实现方法,php安全下载大文件的实现代码
- [收藏]网络营销十道羊皮卷
- 异常单据锁定涉及的数据库表
- plot sin 03-数据区域边界线的位置
- linux was8.5 无法启动wct.sh,WebSphere(was8.5) 在linux集群安装及部署.docx
- 一款好用的程序员工具箱
- Linux 定时器 基本使用
- 有道云笔记修改主题教程
- isSelected() 的使用
- 深入浅出强化学习:原理入门(待更新)
- mcu和服务器通讯协议pdf,Modbus DTU与服务端间的通讯协议
- MT4MT5EA编程跟单系统EA
- spring MVC从零开始
- 计算机毕业设计Java东理咨询交流论坛(源码+系统+mysql数据库+lw文档)