c语言:【顺序表】静态顺序表的初始化、打印、尾插、尾删

原创 2016年05月30日 17:17:15
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<string.h>

#define MAXSIZE 1000

typedef int DateType;
typedef struct SeqList
{
    DateType arr[MAXSIZE];
    size_t size;
}SeqList;


//打印静态顺序表
void PrintSeqList(SeqList *Seq)
{
    assert(Seq);
    if (Seq->size == 0)
    {
        printf("静态顺序表当前为空!\n");
        return;
    }

    for (int index = 0; index < Seq->size; index++)
    {
        printf("%d-> ", Seq->arr[index]);

    }
}


//初始化静态顺序表
void init(SeqList *Seq)
{
    assert(Seq);
    memset(Seq->arr, 0, sizeof(DateType)* MAXSIZE);
    Seq->size = 0;
}


//尾插静态顺序表
void PushBack(SeqList *Seq,DateType x)
{
    if (Seq->size >= MAXSIZE)
    {
        printf("静态顺序表当前已满,无法插入!\n");
        return;
    }
    
    Seq->arr[Seq->size++] = x;

}


//尾删静态顺序表
void PopBack(SeqList *Seq)
{
    assert(Seq);
    if (Seq->size <= 0)
    {
        printf("静态顺序表当前已满,无法插入!\n");
        return;
    }
    --Seq->size;
}


void Test1(SeqList *Seq)
{
    init(Seq);
    
    PushBack(Seq, 0);
    PushBack(Seq, 1);
    PushBack(Seq, 2);
    PushBack(Seq, 3);
    PushBack(Seq, 4);
    PushBack(Seq, 5);

//在执行PopBack时再执行以下三行语句
    PopBack(Seq);
    PopBack(Seq);
    PopBack(Seq);

    PrintSeqList(Seq);

}


int main()
{
    SeqList Seq;
    Test1(&Seq);
    
    system("pause");
    return 0;
}


本文出自 “Han Jing's Blog” 博客,请务必保留此出处http://10740184.blog.51cto.com/10730184/1743104

C语言的静态数组初始化

数组可以初始化,即在定义时,使它包含程序马上能使用的值。   例如,下面的代码定义了一个全局数组,并用一组Fibonacci数初始化:     int iArray[10]={1,1,2,3,5,...
  • u011763677
  • u011763677
  • 2017年02月17日 19:06
  • 1505

C语言静态变量的初始化

通过一个例子说明C语言如何初始化静态变量。 给出C语言代码 typedef int (* Fun)(void * obj, int argc, int *argv); struct Function...
  • HiHui
  • HiHui
  • 2017年04月30日 08:50
  • 775

静态分配的顺序表

顺序表的存储可分为动态存储和静态存储,动态和静态的区别是存储地址是动态申请还是直接定义的数组,其存储地址都是连续的,C中借助数组来实现。 其主要特性是具有很好的随机访问特性和存储密度高。 其插入,删除...
  • u014260236
  • u014260236
  • 2016年02月29日 11:33
  • 514

顺序表类模板

记录一下自己写的一个顺序表类模板,运算符只重写了[],由于函数中直接用了==运算符,如果模板类的类型是复杂数据类型的话,需要在类中重写==等运算符。...
  • zilisen
  • zilisen
  • 2017年06月05日 09:53
  • 216

C语言实现顺序表的插入、删除、查找、遍历等基本操作

C语言实现顺序表的插入、删除、查找、遍历等基本操作 /*编写完整的程序实现顺序的建立、查找、插入、删除等基本操作*/ #include #include #define LIST_INIT_SIZ...
  • u012810362
  • u012810362
  • 2016年03月27日 11:34
  • 5688

C语言实现顺序表的初始化,插入,删除,查找

#include #include #define LIST_INIT_SISE 100 // 线性表存储空间的初始分配量 #define LIST_INCREASE_SISE 20 ...
  • BiuBiu741
  • BiuBiu741
  • 2016年12月03日 23:24
  • 1739

【C语言】静态顺序表和动态顺序表的实现

C语言
  • SuLiJuan66
  • SuLiJuan66
  • 2015年06月29日 19:31
  • 1530

C语言【顺序表】顺序表的初始化,头插,尾插,头删,尾删,增删查改,全删

#define _CRT_SECURE_NO_WARNINGS 1 #include #include #include #include #define MAX_SIZE 5 typedef in...
  • hanjing_1995
  • hanjing_1995
  • 2016年05月30日 17:16
  • 117

顺序表的初始化、插入、删除

顺序表的初始化、插入、删除
  • xiakejiang
  • xiakejiang
  • 2016年06月04日 11:21
  • 891

C语言实现链表之单向链表(七)尾结点后插入结点

C语言实现链表之单向链表(七)尾结点后插入结点     上一篇文章给出了删除头结点的函数,本篇文章将给出在尾结点后插入结点的函数。 /*============================...
  • dan15188387481
  • dan15188387481
  • 2015年11月08日 21:09
  • 1753
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c语言:【顺序表】静态顺序表的初始化、打印、尾插、尾删
举报原因:
原因补充:

(最多只允许输入30个字)