动态数组输入个人小结 C语言

#include "dyna.h"
#define M 6//视想输入数组数来定
int N=6;
dynaa *init_dynar(int m_capacity,int m_size);
int create_node(dynaa *parr);
int pri(dynaa *parr);
int ins(dynaa *parr,int oldval,int newval);
int del(dynaa *parr,int oldval);
int main(void)
{   int m_capacity=N+M;
    int m_size=N;
    dynaa * parr=init_dynar(m_capacity,m_size);
    create_node(parr);
    pri(parr);
    ins(parr,20,110);
    pri(parr);
    del(parr,20);
    pri(parr);
    return 0;
}
dynaa *init_dynar( int m_capacity,int m_size){

    if(m_capacity<=0){
        return ;
    }
    dynaa *parr=(dynaa *) malloc(sizeof(dynaa ));
    CHECK(parr) ;
    parr->m_capacity=m_capacity;
    parr->m_size=0;
    parr->paddr= malloc(sizeof(void * )*parr->m_capacity);
    return parr;
}
int create_node(dynaa *parr){
    int i=0;
    int val=0;
    for(i=0;i<N;i++){
        scanf("%d",&val);
        parr->paddr[i]=val;
    }
}
int pri(dynaa *parr)
{int i=0;
    for(i=0;i<N;i++){
        printf("%d ",parr->paddr[i]);
    }
}
int ins(dynaa  *parr,int oldval,int newval){
    int t=0;
    int i=0;
    for(i=0;i<N;i++){
        if(parr->paddr[i]==oldval){
            break;
        }
    }
    for(t=N;t>i;t--){
        parr->paddr[t]=parr->paddr[t-1];
    }
    parr->paddr[i]=newval;N=N+1;
}
int del(dynaa *parr,int oldval){
    int i=0;for(i=0;i<N;i++){
        if(parr->paddr[i]==oldval){
            break;
        }
    }
    int t=0;
    for(t=i;t<N;t++){
        parr->paddr[t]=parr->paddr[t+1];
    }
    N=N-1;
}

猜你喜欢

转载自blog.csdn.net/weixin_44833201/article/details/89486056