数据结构顺序表-7-2 递增有序顺序表的插入
·
7-2 递增有序顺序表的插入
分数 10
全屏浏览
切换布局
作者 张珊靓
单位 安阳工学院
实验目的:1、掌握线性表的基本知识 2、深入理解、掌握并灵活运用线性表。3、熟练掌握线性表的存储结构及主要运算的实现
已知顺序表L递增有序,将X插入到线性表的适当位置上,保证线性表有序。。
输入格式:
第1行输入顺序表长度,第2行输入递增有序的顺序表,第3行输入要插入的数据元素X。
输出格式:
对每一组输入,在一行中输出插入X后的递增的顺序表。
输入样例:
在这里给出一组输入。例如:
5
1 3 5 7 9
6
输出样例:
在这里给出相应的输出。例如:
1,3,5,6,7,9,
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
#include<bits/stdc++.h>
using namespace std;
#define maxsize 1000
typedef struct{
int data[maxsize];
int length;
}sqlist;
void creat(sqlist &L){
int a;
cin>>a;
if(a>maxsize){
return ;
}
for(int i=0;i<a;i++){
cin>>L.data[i];
}
L.length=a;
}
void insert(sqlist &L,int b){
int insertIndex = 0;
// 寻找合适的插入位置
while (insertIndex < L.length && L.data[insertIndex] < b) {
insertIndex++;
}
// 将插入位置及之后的元素后移一位,腾出插入位置
for (int i = L.length; i > insertIndex; i--) {
L.data[i] = L.data[i - 1];
}
// 将元素插入到合适位置
L.data[insertIndex] = b;
L.length++;
}
int main(){
sqlist l;
creat(l);
int b;
cin>>b;
insert( l, b);
for(int i=0;i<l.length;i++){
cout<<l.data[i]<<",";
}
cout<<endl;
return 0;
}
更多推荐
所有评论(0)