`
endual
  • 浏览: 3566189 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

数据结构--线性表

 
阅读更多

在正常的输入和删除的情况下,不考虑特殊情况的。

这毕竟是自己第一次实现啊。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

 

 

#include<stdio.h>
#include<malloc.h>
//#define LIST_INIT_SIZE 100;//线性表存储空间的初始分配量
//#define LISTINCREMENT 10;//线性表存储空间的增量

typedef struct xianxing {

    int* elem;//空间存储地址
    int length;//当前长度
    int listsize;//当前分配的存储容量

} SqList,*PSqList;

PSqList InitList(SqList* L);//返回指针地址

bool addValue(PSqList L,int a);//增加一个数字到后面去
void showXianXing(PSqList L);//显示线性表的全部元素
bool deleteLastValue(PSqList L);//删除最后一个元素
bool alertValue(PSqList L,int value);//更改最后一个值
bool insertValue(PSqList L,int posti,int value);//指定一个位子插入
bool deletePosValue(PSqList L,int posti);//指定一个位子的删除
bool CheckIsEmpty(PSqList L);//检查是不是为空
bool clearList(PSqList L);//清空表



int main(void){

  //  SqList* pSqList = (SqList*)malloc(sizeof(SqList));
     SqList* pSqList = NULL;

    PSqList initialSqList = InitList(pSqList);

    if(initialSqList->listsize>0){
        printf("%d\n",initialSqList->listsize);
        printf("initial is successful!!!\n");
    }

    bool isAddRight = addValue(initialSqList,1);
    bool isAddRightx = addValue(initialSqList,2);
    addValue(initialSqList,3);
    addValue(initialSqList,4);
    addValue(initialSqList,5);
    addValue(initialSqList,6);
    addValue(initialSqList,7);
    addValue(initialSqList,8);
    
      int ax = 0;
      if(isAddRight){
         printf("add is successful!!!\n");
         ax =  initialSqList->elem[1];
         printf("##########%d\n",ax);
         int b=  initialSqList->length;
         printf("%d\n",b);
     }

  showXianXing(initialSqList);
  printf("\n");
  deleteLastValue(initialSqList);
  printf("\n");
  showXianXing(initialSqList);
  printf("\n");
  deleteLastValue(initialSqList);
  printf("\n");
  showXianXing(initialSqList);
  printf("\n");
    return 0;
}

//初始化线性列表
SqList* InitList(SqList* L){

    L = (SqList*)malloc(sizeof(SqList));//初始化指针

    bool isRight = true;

    L->elem = (int *)malloc(sizeof(int)*100);

    if(!L->elem){
   
        isRight = false;
    }
    L->length = 0;
    L->listsize = 100;

    return L;

}

//增加一个值
bool addValue(PSqList L,int a){

    bool isRight = true;
    int nowLenght = L->length;//当前长度,数组的个数a[5] = {3,2,3,4,3}
    int allLenght = L->listsize;//当前可容纳的个数
    if(nowLenght >=allLenght){
   
        return false;
    }

     L->elem[L->length] = a;
     L->length = nowLenght +1;

    return true;
}

//显示所有值
void showXianXing(PSqList L){

    if(L==NULL&&L->length==0){
        printf("线性表没有值或者为被初始化");
        return ;
    }
    for(int i=0;i<L->length;i++){
   
        printf("%d ",L->elem[i]);
    }

    return ;



}

//检查是不是为空
bool CheckIsEmpty(PSqList L){

    int nowLength = L->length;
    if(nowLength == 0){
   
        return true;
    }
    return false;
}

//删掉最后一个值
bool deleteLastValue(PSqList L){
   
    L->elem[L->length-1] = NULL;
    L->length = L->length -1;
   
    return true;
}

分享到:
评论

相关推荐

    数据结构--线性表--思维导图.pdf

    数据结构--线性表--思维导图.pdf 该资源主要讲解了数据结构中的线性表,包括线性表的定义、基本操作、顺序表和链表的存储方式、操作效率比较等。 线性表的定义: 线性表是一种逻辑结构,表示元素之间一对一相邻的...

    数据结构--线性表的定义和抽象数据类型

    数据结构--线性表的定义和抽象数据类型 线性表是数据结构中的一种基本结构形式,它是具有相同属性的数据元素的一个有限序列。线性表可以用来描述生活中各种各样的序列,如人事档案表、职工工资表、学生成绩表、图书...

    数据结构--线性表.cpp

    数据结构--线性表.cpp

    2.C-数据结构-线性表-线性表源码

    2.C-数据结构-线性表-线性表源码

    数据结构-- 线性表

    线性表(linear list)是最基本、最简单、也是最常用的一种数据结构 线性表中数据元素之间的关系是一对一的关系, 即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的 特征1:集合中必存在唯一的一个...

    数据结构--线性表的应用设计计算器

    在线性表的应用中将给出的中缀表达式变为后缀表达式并求值 设计一个计算器

    数据结构--线性表 单链表

    数据结构c++ 线性表 单链表 【4】Chapter3 线性表1-顺序表及单链表

    2.C-数据结构-线性表-链表源码

    2.C-数据结构-线性表-顺序表源码

    2.C-数据结构-线性表-顺序表源码

    2.C-数据结构-线性表-顺序表源码

    数据结构--线性表的顺序存储结构(c语言实现)

    c语言实现的线性表顺序存储结构,包括初始化,设置线性表的值,增,删,改,查。

    数据结构--线性表操作(C源代码)

    线性表是数据结构中最基础的一种,它由有限个相同类型元素构成的有序序列。本资源提供了线性表操作的C语言实现,包括源代码和可执行文件,以及一个简单的说明文档。 1. **线性表**: 线性表是由n(n≥0)个相同类型...

    数据结构--线性表PPT学习教案.pptx

    线性表是数据结构的基础,它是一个包含n个相同类型数据元素的有限序列,通常表示为(a1, a2, a3, ..., an)。在实际应用中,线性表非常常见,比如数学中的数列、英文字母表或者电话号码簿等。线性表的特征在于每个元素...

    数据结构-线性表

    ### 数据结构之线性表详解 #### 一、线性表概述 线性表作为最基础的数据结构之一,在计算机科学领域扮演着极其重要的角色。它不仅简单直观,而且是许多高级数据结构的基础。 ##### 1. 线性表定义与特征 线性表是...

    线性表的链式实现(数据结构-严蔚敏)

    线性表的链式实现(数据结构-严蔚敏)线性表的链式实现(数据结构-严蔚敏)线性表的链式实现(数据结构-严蔚敏)线性表的链式实现(数据结构-严蔚敏)线性表的链式实现(数据结构-严蔚敏)线性表的链式实现(数据...

    数据结构-线性表-单链表的查找、插入、删除.doc

    数据结构-线性表-单链表的查找、插入、删除.doc

    数据结构-线性表输入-输出-插入-删除-查找.doc

    数据结构-线性表输入-输出-插入-删除-查找.doc

    数据结构-线性表-PPT

    "数据结构-线性表-PPT" 数据结构是一门研究非数值计算的程序设计问题的学科,它研究的是计算机存储、表示、操作和保护非数值信息的方法和技术。线性表是数据结构的一种基本结构,它是一种线性结构,只有一个首结点...

    数据结构实验报告-线性表-两个有序线性表的归并算法

    本次实验的主题是“数据结构实验报告-线性表-两个有序线性表的归并算法”。实验的主要目的是让学生掌握两个有序线性表的归并算法。具体来说,实验要求学生通过键盘输入数据来建立两个有序线性表,并最终将这两个有序...

    CS221 数据结构-全套 PPT 课件

    CS221 数据结构-全套 PPT 课件 1-引言.ppt 2-线性表.pdf 2-线性表.ppt 3-栈.pdf 3-栈.ppt 4-队列.pdf 4-队列.ppt 数据结构-第二部分.pdf 数据结构-第二部分.ppt 数据结构-第三部分.pdf 数据结构-第三部分.ppt 数据...

Global site tag (gtag.js) - Google Analytics