栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

顺序表的基本操作实现

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

顺序表的基本操作实现

#include
#include
#include  
#define MAXSIZE 100
#define ElemType int
typedef struct{
    ElemType *elem;
    int length;
}SqList;

void InitList(SqList *L,int x){  //初始化链表 
    L->elem=(ElemType *)malloc(x * sizeof(ElemType));
    if(!L->elem){
        printf("初始化失败");
        return -1; 
    }
    L->length=0;
    return 0;
}

void InputData(SqList *L){    //输入链表元素 
    int n,i,data,data_number=1;
    printf("输入多少个数:n");
    scanf("%d",&n);
    for(i=0;i         printf("No.%dn",data_number++);
        scanf("%d",&data);
        L->elem[i]=data;
        L->length++;
    }
    for(i=0;i         printf("%d   ",L->elem[i]);
    }
}
void  getData(SqList *L,int *i,int n){ //查询列表 元素 
     if(i<1||i>L->length){
        printf("查询失败n");
        exit(0);
    }
    i=L->elem[n-1];
    return 0; 
}

void locateElem(SqList *L,int i){
    int n;
    for(n=0;nlength;n++){
        if(L->elem[n]==i){
            printf("查询成功n");
            break;
        }
    }
    printf("%d",L->elem[n]);
    return 0; 
}

void ListInsert(SqList *L,int i,ElemType e){
    if((i<1||i>L->length+1)){
        printf("位置错误");
        return -1;
    }
    if(L->length==MAXSIZE){ 
        printf("空间不足");
        return -1;
    }
    int j;
    for(j=L->length-1;j>=i-1;j--){
        L->elem[j+1]=L->elem[j];
    }
    L->elem[i-1]=e;
    ++L->length;
    for(i=0;ilength;i++){
        printf("%d   ",L->elem[i]);
    }
    return 0;
    
    
}


int main(){
    SqList L;
    int a,INitListx,LocateElemx,ListInsertx,ListInserty;
    printf("1.创建并初始化顺序表n");
    printf("2.输入顺序表元素n");
    printf("3.查询顺序表元素n");
    printf("4.插入顺序表元素n");
    while(1){
        scanf("%d",&a);
        switch(a){
            case 1:
                printf("创建多长的顺序表"); 
                scanf("%d",&INitListx);
                InitList(&L,INitListx);
                printf("初始化成功n");
                break;
            case 2:
                InputData(&L);
                printf("录入成功n"); 
                break;
            case 3:
                printf("输入查询元素位置");
                scanf("%d",&LocateElemx); 
                locateElem(&L,LocateElemx);
                break;
            case 4:
                printf("请输入插入位置n"); 
                scanf("%d",&ListInsertx);
                printf("请输入插入内容");
                scanf("%d",&ListInserty);
                ListInsert(&L,ListInsertx,ListInserty);
                break;
        }
    } 
    free(L.elem);
    
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/648603.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号