• 数据结构——顺序表


    include<stdio.h>

    include<stdlib.h>

    define maxsize 30

    typedef struct{
    int data[maxsize];
    int n;
    }Seqlist;

    int scanfdata(Seqlist &L){
    int i,n;
    printf("请问要输入几个数据:");
    scanf("%d",&n);
    if(n>maxsize){
    printf("顺序表长度不够! ");
    printf("请问要输入几个数据:");
    scanf("%d",&n);
    }
    L.n=n;
    printf("请输入数据:");
    for(i=0;i<L.n;i++){
    scanf("%d",&L.data[i]);
    }
    printf("顺序表长度为:");
    printf("%d ",L.n);
    }

    void printfdata(Seqlist &L){
    int i;
    printf("输出所有数据:");
    for(i=0;i<L.n;i++){
    printf("%d ",L.data[i]);
    }
    printf(" ");
    return;
    }

    void insert(Seqlist &L){
    int a[10],b,i,c;
    printf("请问要插入几个元素:");
    scanf("%d",&c);
    for(i=0;i<c;i++){
    printf("请输入要插入的元素:");
    scanf("%d",&a[i]);
    }
    printf(" ");
    printf("请输入要插入的位置:");
    scanf("%d",&b);
    if(L.n>maxsize+c){
    printf("不能插入 ");
    return;}
    if(b<1||b>L.n+1){
    printf("超出了顺序表范围! ");
    printf("请在输入要插入的位置:");
    scanf("%d",&b);
    }
    printf(" ");
    for( i=L.n+1;i>b;i--){
    L.data[i]=L.data[i-2];
    }
    for(i=0;i<c;i++){
    L.data[b-1+i]=a[i];
    }

    	  L.n+=c;
    	  return;
    } 
    

    void remove(Seqlist &L){
    int a,i,b;
    printf("请输入要删除元素的第一个位置:");
    scanf("%d",&a);
    printf("请问要删除几个元素:");
    scanf("%d",&b);
    printf(" ");
    if(!L.n) {
    printf("顺序表为空!");
    printf("请在输入要删除元素的位置:");
    }
    if(a<1||a>L.n){
    printf("超出顺序表范围!");
    return;
    }
    for(i=(a+b-1);i<L.n+1;i++){
    L.data[i-b]=L.data[i];
    }
    L.n=L.n-b;
    return;
    }

    void find(Seqlist &L){
    int a,i;
    printf("请输入要查找的元素:");
    scanf("%d",&a);
    for(i=0;i<L.n;i++){
    if(L.data[i]a){
    printf("这个元素在这个顺序表中,并且它的逻辑序号是:");
    printf("%d",i+1);
    return;
    }
    }if(i
    L.n){
    printf("没有找到这个元素 ");
    return;
    }}

    int main(){
    Seqlist L;
    scanfdata(L);
    printfdata(L);
    insert(L);
    printfdata(L);
    remove(L);
    printfdata(L);
    find(L);
    printfdata(L);
    return 0;
    }

  • 相关阅读:
    [Codeup 25482]选美
    [Codeup 25481] swan
    暑假集训D12总结
    [技术]浅谈重载操作符
    2020年寒假第6次学*进度记录
    2020年寒假第5次学*进度记录
    2020年寒假第4次学*进度记录
    “家庭记账本”软件开发(1)
    阅读《梦断代码》随笔(1)
    2020年寒假第三次学*进度记录
  • 原文地址:https://www.cnblogs.com/lusilin/p/10686450.html
Copyright © 2020-2023  润新知