#include"stdio.h"
#include"stdlib.h"

typedef struct Node
{
	int data;
	struct Node *next;
}list,*ptr_list;

typedef struct List
{
	int len;
	ptr_list head;
}List; 

bool delete_node(List *L,int pos)
{
	if(pos==0)
	{return 0;}
	ptr_list p,q;
	int i;
	p=L->head;
	for(i=0;i<pos;i++)
	{
		q=p;
		p=p->next;
    }
	q->next=p->next;
	L->len--;
	return 1;
}


bool insert_node(List* L,int data,int pos)
{
	ptr_list current=(list*)malloc(sizeof(list));
	current->data=data;
	if(pos==0)
	{return 0;}
	ptr_list p,q;
	int i;
	p=L->head;
	for(i=0;i<pos;i++)
	{
		q=p;
		p=p->next;
    }
    q->next=current;
    current->next=p;
    return 1;
}

bool update(List* L,int data,int pos)
{
	
	if(pos==0)
	{return 0;}
	ptr_list p;
	int i;
	p=L->head;
	for(i=0;i<pos;i++)
	{
        p=p->next;
    }
    p->data=data;
    return 1;
}

void inti(List *L,int len)
{ 
     int i;
	 L->head=(list *)malloc(sizeof(list));
	 L->len=len;
	 ptr_list p=L->head;
	 for(i=0;i<len;i++)
	 {
		 ptr_list temp=(list *)malloc(sizeof(list));
		 p->next=temp;
		 temp->data=i;
		 p=temp;
	 }

}
void print(List L)
{
	int len=L.len;
	int i;
	ptr_list p=L.head;
    p=p->next;
	for(i=0;i<len;i++)
	{
		printf("%d ",p->data);
		p=p->next;
	}
	printf("\n");
}


void main()
{

	List L;
	inti(&L,10);
	print(L);
	delete_node(&L,2);
	print(L);
	insert_node(&L,5555,2);
	print(L);
	update(&L,4444,3);
	print(L);
				
}

教学版 链表操作 呵呵。。闲来之作 欢迎板砖,水军。

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2023-02-05
  • 2022-01-24
  • 2021-06-08
  • 2021-08-02
猜你喜欢
  • 2021-04-21
  • 2021-07-17
  • 2022-12-23
  • 2022-01-06
  • 2021-09-16
  • 2022-02-21
  • 2022-12-23
相关资源
相似解决方案