C/C数据结构与算法/线性表的顺序储存
线性表的顺序储存
顺序表的特点:关系线性化、结点顺序存在
掌握其逻辑并不是一件难事,但实际编程中遇到的各种函数调用、参数传递、结构体类型的应用中出现的问题还是让我这个初学者的发量日益减少/流泪
一、顺序表的基本操作
1、输入一组整型元素序列,建立顺序表,元素的值随机输入;
2、实现该线性表的插入;
3、实现该线性表的删除;
4、实现该线性表的查找;
5、实现该线性表的排序(从小到大);
//查删改算法的时间复杂度都为O(n);
二、使用步骤
代码如下(可运行):
#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 100//线性表可能达到的最大长度
typedef struct{
int*elem; //线性表储存空间的基地址
int length; //线性表的实际长度
}SqList; //顺序表的结构类型为SqList
/*typedef与结构结合使用
定义一个新的结构类型
typedef为这个新的结构起了一个名字,叫SqLlist
*/
void Init_SeqList(SqList*L);
void Creat_SeqList(SqList*L,int n);
void output(SqList L);
int Insert_SeqList(SqList*L,int i,int e);
int Delete_SeqList(SqList*L,int i,int*e);
int LocateElem(SqList L,int e);
void Sort_SeqList(SqList*l);
void main()
{
SqList sl;
int len,i,elem,e;//len输入元素个数,e插入元素,i插入位置
Init_SeqList(&sl);
printf("请输入元素的个数:");
scanf("%d",&len);
Creat_SeqList(&sl,len);
output(sl