数据结构线性表完整代码
#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)