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

数据结构————顺序存储结构之“顺序表”

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

数据结构————顺序存储结构之“顺序表”

// 线性表的顺序存储结构!!!

#include 
#include 
#include 

#define MaxSize 50

typedef struct{				// 定义结构体

    int data[MaxSize];
    int length;

}Sqlist;

void Init_List(Sqlist *L){			//初始化顺序表

    L=(Sqlist *)malloc(sizeof(Sqlist));
    L->length=0;

}

int Create_List(Sqlist *L,int a[],int y){				//创建顺序表

    if (y>MaxSize)
    {
        printf_s("空间不够了!");
        return 0;
    }
    
    int i=0,k=0;
    while (i
        printf("%dn",i);
        L->data[k]=a[i];
        k++;
        i++;
    

    }

    L->length=k;
    printf("创建成功!nn");
    return 1;
    
}

int IsEmpty_List(Sqlist *L){				//判断顺序表是否为空表

    if (L->length==0)
    {
        printf_s("是空表!");
        return 0;
    }
    
    else{
        printf_s("不是空表!");
        return 1;
    }

}

void Print_List(Sqlist *L){					// 打印输出表

    for (int i = 0; i < L->length; i++)
    {
        printf("遍历的结果是:");
        printf_s("%dn",L->data[i]);
        
    }

    

}

void Length_List(Sqlist *L){			//输出表的长度

    printf("顺序表长度:n");
    printf_s("%dn",L->length);
    
}

int Select_Local_List(Sqlist *L,int x){       //x: 需要查找的逻辑位置序列
												// 按位置查找表元素
    if (x<1 || x>L->length)
    {
        printf("位置错误!");
        return 0;
    }
    
    else{

        int y;
        y=L->data[x-1];
        printf("查找的元素是:n");
        printf_s("%d",y);

    }

}

void Select_Value_List(Sqlist *L,int x){			//按值查找表元素

    for (int i = 0; i < L->length; i++)
    {
        if (L->data[i]==x)
        {
            printf("你要找的元素的逻辑位置是:n");
            printf_s("%dn",i+1);        
    
        }    
    }
 
}

int Insert_List(Sqlist *L,int y,int x){     //y: 插入的元素;x: 插入的位置
													//插入表元素
    if (x<1 || x>L->length)
    {
        printf("位置错误!");
        return 0;
    }
    
    x--;
    for(int j=L->length;j>x;j--){

        L->data[j]=L->data[j-1];
    }

    L->data[x]=y;
    L->length++;
    return 1;

}

int Delete_List(Sqlist *L,int x){     //x: 删除位置;y: 负责将所删除的元素移除位置
											//删除表元素
    int y;

    if (x<1 || x>L->length)
    {
        printf("位置错误!n");
        return 0;
    }
    
    x--;
    y=L->data[x];
    for(int j=x;jlength-1;j++){

        L->data[j]=L->data[j+1];
    }

    L->length--;
    return 1;
}


int main(){

    int a[5] = {1,2,3,4,5};
    Sqlist list_1;
    Init_List(&list_1);     //初始化顺序表
    if (IsEmpty_List(&list_1))
    {
        printf("初始化成功了!n");
    }

    printf("创建顺序表:n");
    Create_List(&list_1,a,5);  //创建长度为5的顺序表
  
    // Insert_List(&list_1,100,3);
    // Print_List(&list_1);

    // printf("nn");

    // Delete_List(&list_1,3);
    // Print_List(&list_1);

    Insert_List(&list_1,999,7);
    Print_List(&list_1 );
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/869797.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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