//创建链表
typedef struct List
{
int Val;
struct List *Next;
}Linklist;
//初始化链表
Linklist *Creat(int n)
{
Linklist *Head,*Node,*End;
Head = (Linklist *)malloc(sizeof(Linklist));
End = Head;
for (int i = 0; i < n; i++)
{
Node = (Linklist *)malloc(sizeof(Linklist));
Node->Val = 0;
End->Next = Node;
End = Node;
}
End->Next = NULL;
return Head;
}
//修改链表节点值
int Change(Linklist *List,int n) {
Linklist *Temp = List;
int RetrieveNum = 0;
while (RetrieveNum < n && Temp != NULL)
{
Temp = Temp->Next;
RetrieveNum++;
}
if (Temp != NULL) {
Temp->Val = 0;
}
else {
return -1;
}
return 0;
}
//删除链表节点值
int Delet(Linklist *List, int n) {
Linklist *Temp = List;
Linklist *Prelist = NULL;
int RetrieveNum = 0;
while (RetrieveNum < n && Temp != NULL)
{
Prelist = Temp;
Temp = Temp->Next;
RetrieveNum++;
}
if (Temp != NULL) {
Prelist->Next = Temp->Next;
free(Temp);
}
else {
return -1;
}
return 0;
}
//插入链表节点值
int Insert(Linklist *List, int n) {
Linklist *Temp = List;
Linklist *Insertlist = NULL;
int RetrieveNum = 0;
while (RetrieveNum < n && Temp != NULL) {
Temp = Temp->next;
RetrieveNum++;
}
if (Temp != NULL) {
Insertlist = (Linklist*)malloc(sizeof(Linklist));
Insertlist->Val = 0;
Insertlist->Next = Temp->Next;
Temp->Next = Insertlist;
}
else {
return -1;
}
return 0;
}
用链表代替数组,实现动态分配资源
于 2022-03-04 14:47:04 首次发布