zoukankan      html  css  js  c++  java
  • 数组形式链表

    #include <iostream>
    using namespace std;
    typedef struct listarr
    {
        int * arr;
        int cap;
        int size;
    }LIST_ARR;
    LIST_ARR* create_list(int vol)
    {
        LIST_ARR* list = new (LIST_ARR);
        list->arr = new int[vol];
        list->cap = vol;
        list->size = 0;
        return list;
    }
    void list_add(LIST_ARR* list,int data)
    {
        list->arr[list->size++] = data;
    }
    void list_insert(LIST_ARR* list, int data, int pos) // 在第几个的后面插入 从第一个开始
    {
        for(int i=list->size-1;i>=pos;i--)
        {
            list->arr[i+1] =list->arr[i];
        }
        list->arr[pos] = data;
        list->size++;
    }
    void list_del(LIST_ARR* list,int pos)  //删除第几个元素 从第一个开始
    {
        for(int i=pos-1;i<list->size;i++)
        {
            list->arr[i-1]=list->arr[i];
        } 
         
        list->size--;
    }
    void list_print(LIST_ARR* list)
    {
        for(int i=0;i<list->size;i++)
        {
            cout<< list->arr[i]<<"  ";
        }
        cout<<endl;
    }
    void list_destroy(LIST_ARR* list)
    {
        delete [] list->arr;
        delete(list);
    }
    int main()
    {
        LIST_ARR* list = create_list(10);
        list_add(list,10);
        list_add(list,20);
        list_add(list,30);
        list_add(list,40);
        list_add(list,50);
        cout<<"the original list"<<endl;
         list_print(list);
        list_insert(list,25,2);//arr[2]
        //list_insert(list,9,0);//arr[0]
        cout<<"after insert 25 in arr[2]:"<<endl;
        list_print(list);
       // list_del(list,1);  //删除第几个元素 从第一个开始  //删除后容易造成内存碎片
        cout<<"del  the arr: "<<endl;
        list_print(list);
        list_destroy(list);
        return 0;
    }
    


    关注公众号 海量干货等你
  • 相关阅读:
    JAVA NIO之文件通道
    Java NIO之缓冲区
    LinkedList 源码分析(JDK 1.8)
    ArrayList 源码详细分析
    自己动手实现一个简单的JSON解析器
    科普:String hashCode 方法为什么选择数字31作为乘子
    LinkedHashMap 源码详细分析(JDK1.8)
    HashMap 源码详细分析(JDK1.8)
    python创建目录
    python3 内置方法 字符串转换为字典
  • 原文地址:https://www.cnblogs.com/sowhat1412/p/12734505.html
Copyright © 2011-2022 走看看