zoukankan      html  css  js  c++  java
  • 顺序表相关操作

    #include<stdio.h>
    #define MAX 100//定义顺序表的最大值
    //顺序表的定义
    typedef struct
    {
        int l[MAX];
        int size;//顺序表的长度
    }sequence_list;
    //函数功能:顺序表的初始化——置空表
    //函数参数:指向sequenc_list型变量的指针head
    //函数返回值:空
    //文件名:sequenc_list.h 函数名:Slt_init
    void Slt_init(sequence_list*head)
    {
        head->size=0;
    }
    //函数功能:在顺序表尾部进行插入
    //函数参数:指向sequenc_list型变量的指针head,int类型的插入数据num
    //函数返回值:空
    //文件名:sequenc_list.h 函数名:Slt_append
    void Slt_append(sequence_list*head,int num)
    {
        if(head->size==MAX)
            printf("FULL
    ");
        else
        {
            head->l[head->size]=num;
            head->size++;
        }
    }
    //函数功能:打印顺序表的各个节点
    //函数参数:指向sequenc_list型变量的指针head
    //函数返回值:空
    //文件名:sequenc_list.h 函数名:Slt_display
    void Slt_display(sequence_list*head)
    {
        int i;
        if(head->size<1)
            printf("EMPTY
    ");
        else
        {
            for(i=0;i<head->size;i++)
                printf("%5d",head->l[i]);
        }
        printf("
    ");
    }
    //函数功能:判断顺序表是否为空
    //函数参数:指向sequenc_list型变量的指针head
    //函数返回值:int类型:1为空,0为非空
    //文件名:sequenc_list.h 函数名:Slt_empty
    int Slt_empty(sequence_list*head)
    {
        return head->size?0:1;
    }
    //函数功能:查找顺序表值为num的节点位置
    //函数参数:指向sequenc_list型变量的指针head,int类型的查找数据num
    //函数返回值:int 类型,成功返回位置,失败返回-1
    //文件名:sequenc_list.h 函数名:Slt_find
    int Slt_find(sequence_list*head,int num)
    {
        int i=0;
        while(i<head->size&&head->l[i]!=num)i++;
        return i<head->size?i:-1;
    }
    //函数功能:取得顺序表中相应位置的值
    //函数参数:指向sequenc_list型变量的指针head,int类型的位置pos
    //函数返回值:int 类型,成功返回顺序表中相应位置的值
    //文件名:sequenc_list.h 函数名:Slt_init
    int Slt_get(sequence_list*head,int pos)
    {
        if(pos<0||pos>=head->size)
        {
            printf("ERROR
    ");
            exit(1);
        }
        else
            return head->l[pos];
    }
    //函数功能:顺序表的插入
    //函数参数:指向sequenc_list型变量的指针head,int类型的位置pos
    //          int类型的插入数据num
    //函数返回值:空
    //文件名:sequenc_list.h 函数名:Slt_insert
    void Slt_insert(sequence_list*head,int pos,int num)
    {
        if(head->size==MAX)printf("FULL
    ");
        else if(pos<0||pos>head->size)
            printf("pos error
    ");
        else
        {
            int i;
            for(i=head->size-1;i>=pos;i--)
                head->l[i+1]=head->l[i];
            head->l[pos]=num;
            head->size++;
        }
    }
    //函数功能:顺序表的删除操作
    //函数参数:指向sequenc_list型变量的指针head,int类型的位置pos
    //函数返回值:空
    //文件名:sequenc_list.h 函数名:Slt_del
    void Slt_del(sequence_list*head,int pos)
    {
        int i;
        if(head->size==0)
        {
            printf("EMPTY
    ");
            exit(1);
        }
        else if(pos<0||pos>=head->size)
        {
            printf("not found
    ");
            exit(1);
        }
        else
        {
            for(i=pos;i<head->size-1;i++)
                head->l[i]=head->l[i+1];
            head->size--;
        }
    }
    //函数功能:顺序表的倒置
    //函数参数:指向sequenc_list型变量的指针head
    //函数返回值:空
    //文件名:sequenc_list.h 函数名:Slt_reverse
    void Slt_reverse(sequence_list*head)
    {
        int i,temp,len=head->size;
        for(i=0;i<len/2;i++)
        {
            temp=head->l[i];
            head->l[i]=head->l[len-i-1];
            head->l[len-i-1]=temp;
        }
    }
    int main()
    {
        return 0;
    }
    

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    poj 1088 滑雪
    位运算与bitset
    hdu 4607 Park Visit
    树的直径
    codeforces 495D Sonya and Matrix
    German Collegiate Programming Contest 2015(第三场)
    BAPC 2014 Preliminary(第一场)
    Benelux Algorithm Programming Contest 2014 Final(第二场)
    E. Reachability from the Capital(tarjan+dfs)
    poj2104 K-th Number(划分树)
  • 原文地址:https://www.cnblogs.com/Thereisnospon/p/4768525.html
Copyright © 2011-2022 走看看