顺序表

作者: Destiny_0ea2 | 来源:发表于2018-10-22 20:51 被阅读0次

#include<stdio.h>

#include<stdlib.h>

#define MAXSIZE 20

typedef int ElemType;

typedef struct

{

ElemType elem[MAXSIZE];

int last;

}SeqList;

void InitList(SeqList *L);

int LenList(SeqList);

int InsList(SeqList *L, int i, ElemType e);

int DelList(SeqList *L, int i, ElemType *e);

int main()

{

SeqList La;

ElemType Lb;

int i, x, n = 0;

InitList(&La);

printf("线性表长度\n");

scanf_s("%d", &n);

La.last = n;

printf("线性表元素\n");

for (i = 0; i < n; i++)

scanf_s("%d", &La.elem[i]);

printf("\n");

printf("插入位置元素\n");  //插入

scanf_s("%d %d", &i, &x);

InsList(&La, i, x);

for (i = 0; i < La.last; i++)

printf("%d\n", La.elem[i]);

printf("删除位置\n");  //删除

scanf_s("%d", &i);

DelList(&La, i, &Lb);

printf("删除数:%d\n", Lb);

for (i = 0; i < La.last; i++)

printf("%d\n", La.elem[i]);

return 0;

}

void InitList(SeqList *L)

{

L->last = 0;

}

int LenList(SeqList L)

{

return L.last;

}

int InsList(SeqList *L, int i, ElemType e)  //插入

{

int k;

if ((i < 1) || (i > L->last + 2)) //判断位置是否存在

{

printf("plug-in position are not legall\n");

return 0;

}

if (L->last >= MAXSIZE - 1)//判断数据是否溢出

{

printf("list are overflow\n");

return 0;

}

else

{

for (k = L->last; k >= i - 1; k--)//插入操作

L->elem[k + 1] = L->elem[k];

L->elem[i - 1] = e;

L->last++;

return 0;

}

}

int DelList(SeqList *L, int i, ElemType *e)//删除

{

int k;

if ((i < 1) || (i > L->last + 1))  //判断位置是否存在

{

printf("删除位置不合法!\n");

return 0;

}

else

{

*e = L->elem[i - 1];

for (k = i; k <= L->last; k++)

L->elem[k - 1] = L->elem[k];

L->last--;

return 1;

}

}

相关文章

  • 数据结构与算法(二,线性表的顺序存储结构,穷举法(冒泡和选择排序

    线性表 顺序表 顺序表的特性 顺序表的元素有前驱和后继 顺序表有size 顺序表的增删改查 顺序表的优缺点优点:尾...

  • 顺序表-动态顺序表

    顺序表是逻辑上相邻的元素物理也相邻的。 静态内存是指在程序开始运行时由编译器分配的内存,它的分配是在程序开始编译时...

  • 顺序表-静态顺序表

    线性表,全名为线性存储结构。将具有“一对一”关系的数据“线性”地存储到物理空间中,这种存储结构就称为线性存储结构(...

  • 线性表之顺序存储-顺序表

    顺序表的操作 [x] 向有序顺序表插入一个元素 [x] 顺序表的冒泡排序 [x] 顺序表的删除操作 [x] 顺序表...

  • 数据结构之线性表

    1、线性表-顺序表线性表-顺序表

  • 线性表-顺序表与单链表

    顺序表 线性表的顺序存储,是逻辑相邻,物理存储地址也相邻。 结构定义 顺序表的初始化 顺序表的插入 顺序表的取值 ...

  • 顺序表和链表的区别

    参考:线性表和链表的区别 注:参考文中的‘线性表’准确的说应该是’顺序表‘,链表与顺序表都是线性表。 顺序表:顺序...

  • 快速理解数据结构中链表

    组织数据作用的线性表分为顺序表和链表 顺序表:平常所使用的各类数组均为顺序表,即存储逻辑顺序和物理顺序相同。较常见...

  • 顺序表

    在程序中,经常需要将一组(通常是同为某个类型的)数据元素作为整体管理和使用,需要创建这种元素组,用变量记录它们,传...

  • 顺序表

    https://blog.csdn.net/qq_41943578/article/details/82934644

网友评论

      本文标题:顺序表

      本文链接:https://www.haomeiwen.com/subject/ovrnzftx.html