• 顺序表相关操作


    #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;
    }
    

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

  • 相关阅读:
    家庭作业 3.66
    存储器层次结构
    PHP empty()函数说明---用了N遍了就是记不住
    如何让mysql的自动递增的字段重新从1开始呢?(
    dirname(__FILE__) 的使用总结
    又回来了
    Ecshop 后台增加一个左侧列表菜单menu菜单的方法
    用PHP上传文件时$_FILES中error返回值详解
    ECSHOP站内页面跳转,避免死链
    比特币Bitcoin-qt客户端加密前后如何导入导出私钥?
  • 原文地址:https://www.cnblogs.com/Thereisnospon/p/4768525.html
Copyright © 2020-2023  润新知