数据结构函数

//定义一个用于初始化线性表的函数
 void Init_List( linear_list *list)
//参数利用返回列表,不使用形参
{
 //分配存储空间
 list->elem = (Elemtype *)malloc(LIST_INIT_SIZE*sizeof(Elemtype));
 if(!list->elem)
    exit(FAIL);
 list->list_length = 0; //插就要入一个元素,length加一,当length = listsize 时,表示存储空间已满,就要加存储空间
 list->list_size= LIST_INIT_SIZE;
}
//定义一个用于初始化线性表的函数
//给初始化好的线性表插入所需要的元素
int Insert_List( linear_list *list ,int object_place , Elemtype object )  //需要传递线性表(利用指针类型以便于彻底修改),插入元素,及插入元素的位置三个参数
{
    Elemtype *new_elem;
    int i;
    //判断所插入元素的位置是否正常
    if(object_place < 1||object_place > list->list_length+1) //插入元素的位置在1-length之间或最后一个元素之后
        return ERROR;
    //判断存储空间是否足够
    if( list->list_length >= list->list_size )
    {
        new_elem = (Elemtype *) realloc( list->elem ,(list->list_size+INCREMENT_SIZE)*sizeof(Elemtype));
        if(!new_elem)
            exit(FAIL);
        list->elem = new_elem;
        list->list_size +=INCREMENT_SIZE;
    }
     //利用数组的下标来插入元素
    for(i = list->list_length-1;i >= object_place-1 ; i--)
       {
        list->elem[i+1] = list->elem[i];
       }
       list->elem[object_place-1] = object;
       list->list_length++;
    return OK;
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值