数据结构-列表简介
列表介绍
列表是数据结构中常见的一种,基本操作包括增加元素、插入元素、删除元素、查看元素;我在网上看别人写的关于列表的介绍,稍微有点头大,有些博主写的代码比较乱,最主要还没注释,且基本操作介绍也不全面,缺东少西的;我尽量简单的把列表讲清楚,基本操作讲全面;
#include <stdio.h>
#include <malloc.h>
#include "stdlib.h"
//定义列表结构体
struct plist {
int A[1000];
int n;
};
//初始列表
void List_Init(plist *list) {
list->n = 0;
}
//按顺序增加元素
void List_Append(plist* list, int value) {
list->A[list->n++] = value;
}
//插入元素
void List_Insert(plist *list, int index, int value) {
for (int i = list->n - 1; i >= index; i--) {
list->A[i + 1] = list->A[i];
}
list->A[index] = value;
list->n++;
}
//删除某个元素
void List_delete(plist *list, int index) {
for (int n = index - 1; n < list->n - 1; n++)
{
list->A[n] = list->A[n+1];
}
list->n--;
}
//打印列表
void List_Show(plist *list) {
printf("len=%d values=(", list->n);
for (int i = 0; i < list->n; ++i)
{
printf("%d ", list->A[i]);
}
printf(")");
printf("\n");
}
int main() {
plist* P_List = (plist*)malloc(sizeof(plist));
List_Init(P_List);
List_Append(P_List, 1);
List_Append(P_List, 2);
List_Append(P_List, 3);
List_Append(P_List, 4);
List_Append(P_List, 5);
List_Show(P_List);//打印原始列表(1,2,3,4,5)
List_delete(P_List, 3);//删除第3个元素
List_Show(P_List);
List_Insert(P_List, 1, 7);//在1的位置插入7
List_Show(P_List);
system("pause");
}