zoukankan      html  css  js  c++  java
  • 王道数据结构代码:顺序表实现动态内存分配

    主要实现顺序表内存满之后再次申请内存的操作

    #include<bits/stdc++.h>
    using namespace std;
    #define InitSize 10 
    typedef struct {
        int *data;
        int lenght;
        int MaxSize ;
    }SeqList;
    void InitList(SeqList &L){
        L.data = (int *)malloc(sizeof(int)*InitSize);
        L.lenght = 0;
        L.MaxSize = InitSize;
    }
    void IncreaseList(SeqList &L , int len){
        int *p = L.data;
        L.data = (int *)malloc(sizeof(int)*(L.MaxSize+len));
        for(int i = 0 ; i < L.lenght ; i++){
            L.data[i] = p[i];
        }
        L.MaxSize = L.MaxSize + len;
        free(p);
    }
    int main(){
        SeqList L;
        InitList(L); // 初始化顺序表 
        for(int i = 0 ; i < L.MaxSize ; i++) L.data[i] = i; // 录入数据 
        L.lenght = L.MaxSize; /// 录入数据结束记得修改顺序表的长度 
        
        for(int i = 0 ; i < L.lenght ; i++) printf("%d ",L.data[i]);
        printf("
    ");
        IncreaseList(L,10);/// 增加10个长度
        for(int i = L.lenght ; i < L.MaxSize ; i++) L.data[i] = i; // 二次录入数据 
        L.lenght = L.MaxSize;
        for(int i = 0 ; i < L.lenght ; i++) printf("%d ",L.data[i]); 
        return 0;
    } 

    重新申请内存是可以用realloc函数

  • 相关阅读:
    路由器的配置及使用
    OSI与TCP/IP网络模型
    IP地址
    C++中的虚函数
    虚基类
    【idea】jrebel
    JSON(来自ww3school)
    get与post
    Ajax(来自w3school)
    EasyUI——combotree
  • 原文地址:https://www.cnblogs.com/Li-ningning/p/14619767.html
Copyright © 2011-2022 走看看