C,顺序表,简单的元素处理

#include<stdio.h>
#include<stdlib.h>
#define maxSize 30
typedef int DataType;
typedef struct {                            //包含结构体 
    DataType data[maxSize];
    int n;
}SeqList; 
    
int main(){
    SeqList L;
    int i,k,l,n1,n2,x,j=0;
    printf("请输入数据长度:"); 
    scanf("%d",&L.n);
    for(i=0;i<L.n;i++){                    //依次输入data
        printf("请输入第%d个数据:",i+1);
        scanf("%d",&L.data[i]);
    } 
    printf("包含数据:");
    for(i=0;i<L.n;i++){                   //输出data 
        printf("%d  ",L.data[i]);
    }
    printf("
");
    
    printf("顺序表L的长度=%d
",L.n);     // 求线性表长度运算
    
    
    enter: 
    printf("请输入逻辑顺序:");
    scanf("%d",&n2);        
    if(n2<0||n2>L.n){                             //直到输入正确 
        printf("不在数据范围之内");         
    	goto enter;
	}


    printf("第%d个位置的元素是%d
",n2,L.data[n2-1]);
                                                     
    printf("请输入要查找的元素:");
    scanf("%d",&n1);                      //获得n1
    for(i=0;i<L.n;i++){                   //依次比较n1在与data中的数 
        if(L.data[i]==n1){
            printf("元素%d是第%d个元素
",n1,i+1);
            j++;                          
        }       
    }
    if(j==0){
        printf("n1在data中不从在
"); 
    }
    insert:
    printf("要在第几个数据插入:");
    scanf("%d",&k);
    if(k<1||k>L.n) {                        //直到输入正确 
        printf("不在数据范围内
");
        goto insert;  
    }
    printf("要插入的元素"); 
    scanf("%d",&x);
    L.n++;                                   //数据长度+1 
    for(i=L.n-1;i>=0;i--){                   //插入数据x 
        L.data[i+1]=L.data[i];
        if((i+1)==k){
            L.data[i]=x;
            break;
        }
    }
    for(i=0;i<L.n;i++){                   //输出处理后的结果 
        printf("%d  ",L.data[i]);
    }
    del:
    printf("要删除第几个数据:");
    scanf("%d",&l);
    if(l<1||l>L.n) {
        printf("不在数据范围内
");
        goto del;  
    }
    for(i=l;i<L.n;i++){                     //删除第l个数据 
        L.data[i-1]=L.data[i];
    }
    L.n--;                             //数据长度-1
    for(i=0;i<L.n;i++){                  //输出处理后的结果 
        printf("%d  ",L.data[i]);
    }   
    return 0;
}

原文地址:https://www.cnblogs.com/BKKITO/p/10652412.html