数据结构 - 顺序表

顺序表的特点(数组实现):

线性表:具有相同数据类型的数据元素的有限集合 包括顺序表,链表
顺序表:逻辑上相邻的元素存储在物理位置相邻的存储单元中,通常用数组实现。

//线性表:数组里面放任意数据类型 (包括结构体)
typedef struct
{
    char name[10];
    int  age;
}datatype;

typedef struct
{
     datatype data[10];
     int len;
}sqlist;

数组:相同数据类型的变量按一定次序排列的数据集合。

1> 物理存储位置上的临接关系来表示逻辑关系 2>可通过数组下标随机访问任意元素 3>不用尾结点的逻辑关系开辟额外的开销 4>表的大小固定不可随意改变 5>插入删除需要移动大量元素(平均移动一半元素)
/*返回线性表第i个元素的值
 *在线性表第i个元素之前插入元素
 *删除线性表第i个元素
 *打印线性表所有的元素*/

#include <stdio.h>
#include <stdlib.h>
#define MAXLINE 100

//结构体为数组申请好大小为MAXLINE的空间
typedef struct
{
    int array[MAXLINE];
    int length;
}sqlist;

//创建顺序表
//main 函数中定义了指向顺序表的指针变量sqlist *
//修改指针变量内容传指针变量的地址,确
 //保在此子函数中生成的顺序表返回到主函数中仍能找到它
 //子函数传入地址才能成功改变地址对应的的值
void creatlist(sqlist **s)      
{
    int i=0,n=0;
    printf("input the length of list\n");
    scanf("%d",&n);
    printf("input the elements of the list\n");
    for(i=0;i<n;++i)
    {
        scanf("%d",&(*s)->
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值