线性表之顺序存储

1.线性表的定义

线性表是一种具有线性关系的线性结构。他是一个有限序列。 在这个序列中,除了第一个和最后一个,(我们称为(表头,表尾)),每一个元素都有它的前驱和后继,其中,对ai分析,比i小的都是他的前驱,比i大的都是他的后继,a(i-1)我们把它称之为直接前驱,同理,a(i+1)被称之为直接后继。

2.线性表的基本操作

ADT LinearList(adt是抽象数据类型 a是抽象,d是数据,t是类型。 LinearList是线性表,这里主要是给大家介绍线性表的一些基本操作,)分为:

{

bool isempty() //判断线性表是否为空 若空则返回true

int length()// 返回的是线性表的长度

T get (int i)// 返回第i个元素

bool set(int i,T X)//设置第i个元素为x

void insert(int i,TX) //插入第i个元素

bool remove(int i,T&old)//删除第i个元素,并将原值存放在old变量

void clear() //清空线性表

void print()//输出了所有的线性表的元素

}

我们通常用数组来进行线性表的顺序存储

 

#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>

typedef struct{
int *elem;
int length;//表长度
int listsize//表可以存储的最大值
}sqlist;
void InitList_Sq(SqList &L){
	L.elem=(int *)malloc(20*sizeof(int));
	L.length=0;
	L.listsize=10;
}
//初始化这个表。这个malloc 是内存动态分配 void*malloc(size)
void addList(SqList &L){
	int i,n;
	printf("请输入需要创建的顺序表元素总数:"); 
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%d",&L.elem[i]);
		L.length++;
	}
}
然后排序什么的,就把他们按照数组来处理就行了


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橘子买5斤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值