顺序表的题目

Posted lyt888

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了顺序表的题目相关的知识,希望对你有一定的参考价值。

#include<iostream>
using namespace std;
#define ElemType int
const int MaxSize=100;
typedef struct{
    ElemType data[MaxSize];
    int length;
}SqList;

//就地逆置
void reverse(SqList &L){
    ElemType temp;
    for(int i=0;i<L.length/2;i++){
        temp=L.data[i];
        L.data[i]=L.data[L.length-1-i];
        L.data[L.length-1-i]=temp;
    }
} 

//删除值为x的元素
void del_x(SqList &L,ElemType x){
    int k=0;
    for(int i=0;i<L.length;i++){
        if(L.data[i]!=x)
            L.data[k++]=L.data[i];
    }
    L.length=k;
}

//删除值在s、t之间的元素
void del_s2t(SqList &L,ElemType s,ElemType t){
    int k=0;
    for(int i=0;i<L.length;i++){
        if(L.data[i]>=s&&L.data[i]<=t) k++;
        else L.data[i-k]=L.data[i];
    }
    L.length-=k;
}

//删除有序表中重复的元素
void del_same(SqList &L){
    int k=0;
    for(int i=1;i<L.length;i++){
        if(L.data[i]!=L.data[k])
            L.data[++k]=L.data[i];
    }
    L.length=k+1;
}

//合并两个有序表
void merge(SqList A,SqList B,SqList &C){
    int i=0,j=0,k=0;
    while(i<A.length&&j<B.length){
        if(A.data[i]<=B.data[j])
            C.data[k++]=A.data[i++];
        else
            C.data[k++]=B.data[j++];
    }
    while(i<A.length)C.data[k++]=A.data[i++];
    while(j<B.length)C.data[k++]=B.data[j++];
    C.length=k;
}

int main(){
    SqList L;
    ElemType x;
    for(int i=0;i<10;i++){
        cin>>x;
        L.data[i]=x;
    }
    L.length=10;
//    reverse(L);
//    for(int i=0;i<L.length;i++)
//        cout<<L.data[i]<<" ";
//    cout<<endl;
//    del_x(L,77);
//    del_s2t(L,21,29);
//    for(int i=0;i<L.length;i++)
//        cout<<L.data[i]<<" ";
//    cout<<endl;

//    del_same(L);
//    for(int i=0;i<L.length;i++)
//        cout<<L.data[i]<<" ";
//    cout<<endl;    
    
    SqList H,G;
    for(int i=0;i<6;i++){
        cin>>x;
        H.data[i]=x;
    }
    H.length=6;
    merge(L,H,G);
    for(int i=0;i<G.length;i++)
        cout<<G.data[i]<<" ";
    cout<<endl;        
    return 0;
}
//77 51 34 21 8 14 77 19 28 54
//1 2 2 5 5 8 8 8 15 16
//1 3 5 5 7 8   

 

以上是关于顺序表的题目的主要内容,如果未能解决你的问题,请参考以下文章

数据结构 顺序表

顺序表的题目

片段(Java) | 机试题+算法思路+考点+代码解析 2023

设计一个有序顺序表 数据结构(java)

数据结构—线性表的顺序表示

scrapy按顺序启动多个爬虫代码片段(python3)