数据结构-线性表完整代码

haimian
2025-07-06 / 0 评论 / 3 阅读 / 正在检测是否收录...

数据结构线性表完整代码

#include "stdio.h"
#include "stdlib.h"
typedef int E;
struct List{
    E * array;
    int capacity;
    int size;
};
typedef struct List *ArrayList;
int initList(ArrayList list){
    list->array = (E*)malloc(sizeof(E) * 10);
    if(list->array == NULL) return 0;
    list->capacity = 10;
    list->size = 0;
    return 1;
}
int insertList(ArrayList list,E element,E index){
    if(index < 1|| index > list->size+1) return 0;
    for(int i = list->size;i>=index;--i){
        list->array[i] = list->array[i-1];
    }
    list->array[index - 1] = element;
    list->size++;
    return 1;
}
int delectList(ArrayList list,E index){
    if(index<1||index>list->size+1) return 0;
    for(int i = index;i<=list->size-1;++i){
        list->array[i] = list->array[i+1];
    } 
    list->size--;
}
int modify(ArrayList list,E element,E index){
    if(index<1||index>list->size+1) return 0;
    list->array[index] = element;
    return 1;
}
int printList(ArrayList list){
    for(int i = 0;i<list->size;i++){
        printf("%d ",list->array[i]);
    }
    printf("\n");
}
int getList(ArrayList list,E index){
    printf("%d",list->array[index]);
}
int main(){
    struct List list;
    if(initList(&list)){
        insertList(&list, 666, 1);  //每次插入操作后都打印一下表,看看当前的情况 
        printList(&list);
        insertList(&list, 777, 1);
        printList(&list);
        insertList(&list, 888, 1);
        printList(&list);
        delectList(&list,1);
        printList(&list);
        modify(&list,222,1);
        printList(&list);
        getList(&list,1);
        free(list.array);
    }
    else{
        printf("插入失败"); 
    }
}
0

评论 (0)

取消