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;
}

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐