c语言:【顺序表】静态顺序表的头插、头删

原创 2016年05月30日 17:17:18
#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 PushHead(SeqList *Seq, DateType x)
{
    assert(Seq);
    /*Seq->size = 0;*/
    if (Seq->size >= MAXSIZE)
    {
        printf("静态顺序表当前已满,无法插入!\n");
        return;
    }

    Seq->size++;
    for (int index = Seq->size - 1; index >= 0; index--)
    {
        Seq->arr[index + 1] = Seq->arr[index];
    }
    Seq->arr[0] = x;
}


//头删
void PopHead(SeqList *Seq)
{
    if (Seq->size >= MAXSIZE)
    {
        printf("静态顺序表当前已满,无法插入!\n");
        return;
    }
    
    for (int index = 0; index < Seq->size; index++)
    {
        Seq->arr[index] = Seq->arr[index + 1];
    }
    Seq->size--;
}


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

    PrintSeqList(Seq);
    printf("\n");

    PushHead(Seq, 10);
    PrintSeqList(Seq);
    printf("\n");

    PopHead(Seq);
    PrintSeqList(Seq);
    printf("\n");
}


int main()
{
    SeqList Seq;
    Seq.size = 0;
    Test2(&Seq); 
    system("pause");
    return 0;
}


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

c语言静态顺序表的相关功能实现

首先给出头文件部分,是所实现函数功能的声明和头文件的引用 SeqList.h #define _CRT_SECURE_NO_WARNINGS 1javascript:void(0); #ifndef ...

C语言:静态顺序表的增删查该,数据结构

顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构。线性表采用顺序存储的方式存储就称之为顺序表。顺序表是将表中的结点依次存放在计算机内存中一组地址连...

静态顺序表(C语言实现)

数据结构: typedef struct Seqlist//顺序表 { DataType data[MAX]; int sz; } Seqlist,*pSeqlist; 方法: v...

C语言实现顺序表结构(静态)

用c语言实现一个静态的顺序表结构,读者注意我的编码风格
  • zanda_
  • zanda_
  • 2017年12月06日 13:00
  • 4

C语言——静态顺序表常见操作

不用多说,直接贴代码 list.h 文件#ifndef __LIST_H__ #define __LIST_H__ #include #include #include #define Max_...

C语言实现静态顺序表

1、用于存放声明的头文件#ifndef __SEP__LIST__ #define __SEP__LIST__#define _CRT_SECURE_NO_WARNINGS 1 #include #...

C语言下的静态顺序表

静态顺序表的实现 seqlist.h #define _CRT_SECURE_NO_WARNINGS 1 #pragma once #include #include #include #inc...

【C语言】静态顺序表

静态顺序表

C语言实现顺序表--静态

///////////////////////////C语言实现静态顺序表/////////////////////// #include #include #define MaxSize 5 ty...

C语言:静态顺序表的实现和相关操作

静态顺序表:一段地址连续的存储单元依次存储数据元素的线性结构 头文件 SeqList.h #ifndef __SeqList__ #define __SeqList__ #include #i...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c语言:【顺序表】静态顺序表的头插、头删
举报原因:
原因补充:

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