zoukankan      html  css  js  c++  java
  • arraylist(c语言_简单实现)

     1 /**
     2  *
     3  * ArrayList  c语言实现
     4  *
     5  *
     6  * */
     7 
     8 
     9 #include<stdlib.h>
    10 #define MAX_SIZE 1000
    11 
    12 typedef char Element;
    13 typedef struct squence{
    14     Element *items;
    15     int listlen;
    16     int len;
    17 } sq;
    18 
    19 //初始化表
    20 void init(sq *l){
    21     //分配内存空间
    22     l->items= (Element *)malloc(MAX_SIZE * sizeof(Element));
    23     if(!l->items) exit(0);
    24     l->len=0;
    25     l->listlen=MAX_SIZE;
    26 }
    27 
    28 //插入元素(往指定位置i插入元素)
    29 void insertElem(sq *l,int i,Element e){
    30     Element *base,*insertPtr,*p;
    31     if(i<1 || i>l->len+1){
    32         exit(0);
    33     }
    34 
    35     if(l->len>=l->listlen){
    36         //扩展空间
    37         base = (Element *)realloc(l->items,(l->listlen+10)*sizeof(Element));
    38         l->items=base;
    39         l->listlen=l->listlen+10;
    40     }
    41 
    42     insertPtr=&(l->items[i-1]);
    43     for(p=&(l->items[l->len-1]);p>=insertPtr;p--){
    44             *(p+1)=*p;
    45     }
    46 
    47     *insertPtr=e;
    48     l->len++;
    49 }
    50 
    51 //删除元素
    52 void delElem(sq *l,int i){
    53     Element *delElem,*q;
    54     if(i<1 || i>l->len)exit(0);
    55     delElem=&(l->items[i-1]);
    56     q=l->items+l->len-1;
    57     //往前推移
    58     for(++delElem;delElem<=q;++delElem){
    59         *(delElem-1)=*delElem;
    60     }
    61     l->len--;
    62 }
  • 相关阅读:
    Django
    索引
    idea启动tomcat后控制台日志显示中文乱码问题
    Elasticsearch
    Hive 开窗函数
    hadoop-3.1.1集群搭建
    hadoop-2.6.5集群搭建
    spark集群搭建(spark版本2.3.2)
    Zookeeper
    spark-submit(spark版本2.3.2)
  • 原文地址:https://www.cnblogs.com/mozhuhao/p/4484383.html
Copyright © 2011-2022 走看看