Linked List C implement  (1)

////////////////////////////////////////////////////////////////////////////////////////////////////

Linked List C implement  (1)#include<stdio.h>
Linked List C implement  (1)#include<malloc.h> 

Linked List C implement  (1)

Linked List C implement  (1)typedef struct List_Node{
Linked List C implement  (1)    
int info;
Linked List C implement  (1)    struct List_Node 
*next;
Linked List C implement  (1)  }node;
//结点结构体
Linked List C implement  (1)
Linked List C implement  (1)
/******************************/
Linked List C implement  (1)
/* 尾插法建立带头结点的单链表 */
Linked List C implement  (1)
/******************************/
Linked List C implement  (1)node
* Creat_Node()
Linked List C implement  (1){
Linked List C implement  (1)    node 
*head,*pre,*p;
Linked List C implement  (1)    
int x;
Linked List C implement  (1)    head
=(node*)malloc(sizeof(node));;
Linked List C implement  (1)    head
->next=NULL;
Linked List C implement  (1)    pre
=head;
Linked List C implement  (1)    
printf("输入各结点的值,以0结束:");
Linked List C implement  (1)    
while(EOF!=(scanf("%d",&x))&&x!=0)
Linked List C implement  (1)    {
Linked List C implement  (1)        p
=(node*)malloc(sizeof(node));
Linked List C implement  (1)        p
->info=x;
Linked List C implement  (1)        p
->next=pre->next;
Linked List C implement  (1)        pre
->next=p;
Linked List C implement  (1)        pre
=pre->next;
Linked List C implement  (1)    }
Linked List C implement  (1)    
return head;
Linked List C implement  (1)
Linked List C implement  (1)
Linked List C implement  (1)
/******************************/
Linked List C implement  (1)
/* 头插法建立带头结点的单链表 */
Linked List C implement  (1)
/******************************/
Linked List C implement  (1)node
* Build_Node()
Linked List C implement  (1){
Linked List C implement  (1)    node 
*head,*p;
Linked List C implement  (1)    
int x;
Linked List C implement  (1)    head
=(node*)malloc(sizeof(node));;
Linked List C implement  (1)    head
->next=NULL;
Linked List C implement  (1)    
printf("输入各结点的值,以0结束:");
Linked List C implement  (1)    
while(EOF!=(scanf("%d",&x))&&x!=0)
Linked List C implement  (1)    {
Linked List C implement  (1)        p
=(node*)malloc(sizeof(node));
Linked List C implement  (1)        p
->info=x;
Linked List C implement  (1)        p
->next=head->next;
Linked List C implement  (1)        head
->next=p;
Linked List C implement  (1)    }
Linked List C implement  (1)    
return head;
Linked List C implement  (1)
Linked List C implement  (1)
Linked List C implement  (1)
Linked List C implement  (1)
/******************************/
Linked List C implement  (1)
/*         打印单链表         */
Linked List C implement  (1)
/******************************/ 
Linked List C implement  (1)
Linked List C implement  (1)void Print_Node(node 
*head)
Linked List C implement  (1){
Linked List C implement  (1)    node 
*p=head->next;
Linked List C implement  (1)    
printf("输出该链表:");
Linked List C implement  (1)    
while(p)
Linked List C implement  (1)    {
Linked List C implement  (1)        
printf("%-5d--->",p->info);
Linked List C implement  (1)        p
=p->next;
Linked List C implement  (1)    }
Linked List C implement  (1)    
if(p==NULL)
Linked List C implement  (1)    {
Linked List C implement  (1)        
printf("^\n\n\n");
Linked List C implement  (1)    }
Linked List C implement  (1)
Linked List C implement  (1)
Linked List C implement  (1)  
Linked List C implement  (1)
Linked List C implement  (1)
#include"Head_Node.h" 
Linked List C implement  (1)

Linked List C implement  (1)
int Count_Node(node *head)
Linked List C implement  (1){
Linked List C implement  (1)    node 
*p=head->next;
Linked List C implement  (1)    
int num=0;
Linked List C implement  (1)    
while(p!=NULL)
Linked List C implement  (1)    {
Linked List C implement  (1)        num
++;
Linked List C implement  (1)        p
=p->next;
Linked List C implement  (1)    }
Linked List C implement  (1)    
return num;
Linked List C implement  (1)
Linked List C implement  (1)
Linked List C implement  (1)
int main()
Linked List C implement  (1){
Linked List C implement  (1)    node 
*head;
Linked List C implement  (1)    head
=Creat_Node();
Linked List C implement  (1)    Print_Node(head);
Linked List C implement  (1)    
printf("结点个数为:%d\n",Count_Node(head));
Linked List C implement  (1)    
return 0;
Linked List C implement  (1)
Linked List C implement  (1)
Linked List C implement  (1)  
Linked List C implement  (1)
Linked List C implement  (1)
#include"head_node.h" 
Linked List C implement  (1)

Linked List C implement  (1)
/**********************************/
Linked List C implement  (1)
/*         删除重复               */
Linked List C implement  (1)
/**********************************/ 
Linked List C implement  (1)
Linked List C implement  (1)void Delete_Repeat_Node(node 
*head)
Linked List C implement  (1){
Linked List C implement  (1)    node 
*p,*pre,*s;
Linked List C implement  (1)    pre
=head->next;
Linked List C implement  (1)    p
=pre->next;
Linked List C implement  (1)    
while(p)
Linked List C implement  (1)    {
Linked List C implement  (1)        s
=p->next;
Linked List C implement  (1)        
while(s&&s->info!=p->info)
Linked List C implement  (1)        {
Linked List C implement  (1)            s
=s->next;
Linked List C implement  (1)        }
Linked List C implement  (1)        
if(s)
Linked List C implement  (1)        {
Linked List C implement  (1)            pre
->next=p->next;
Linked List C implement  (1)            free(p);
Linked List C implement  (1)            p
=pre->next;
Linked List C implement  (1)        }
Linked List C implement  (1)        
else
Linked List C implement  (1)        {
Linked List C implement  (1)            pre
=p;
Linked List C implement  (1)            p
=p->next;
Linked List C implement  (1)        }
Linked List C implement  (1)    }
Linked List C implement  (1)
Linked List C implement  (1)
Linked List C implement  (1)
int main()
Linked List C implement  (1){
Linked List C implement  (1)    node 
*head;
Linked List C implement  (1)    head
=Creat_Node();
Linked List C implement  (1)    Print_Node(head);
Linked List C implement  (1)    Delete_Repeat_Node(head);
Linked List C implement  (1)    Print_Node(head);
Linked List C implement  (1)    
return 0;
Linked List C implement  (1)}
Linked List C implement  (1)
Linked List C implement  (1)
Linked List C implement  (1)  
Linked List C implement  (1)
Linked List C implement  (1)
#include"Head_Node.h"
Linked List C implement  (1)
/************************************/
Linked List C implement  (1)
/*           在Y前插入X             */
Linked List C implement  (1)
/************************************/
Linked List C implement  (1)void Before_y_Insert_x(node
* head,int y,int x)
Linked List C implement  (1){
Linked List C implement  (1)    node 
*pre,*p,*s;
Linked List C implement  (1)    pre
=head;
Linked List C implement  (1)    p
=pre->next;
Linked List C implement  (1)    
while(p&&p->info!=y)
Linked List C implement  (1)    {
Linked List C implement  (1)        pre
=p;
Linked List C implement  (1)        p
=p->next;
Linked List C implement  (1)    }
Linked List C implement  (1)    
if(p==NULL)
Linked List C implement  (1)    {
Linked List C implement  (1)        
printf("error!%d不在该链表中\n",y);
Linked List C implement  (1)    }
Linked List C implement  (1)    
else
Linked List C implement  (1)    {
Linked List C implement  (1)        s
=(node*)malloc(sizeof(node));
Linked List C implement  (1)        s
->info=x;
Linked List C implement  (1)        s
->next=p;
Linked List C implement  (1)        pre
->next=s;
Linked List C implement  (1)    }
Linked List C implement  (1)
Linked List C implement  (1)
Linked List C implement  (1)
int main()
Linked List C implement  (1){
Linked List C implement  (1)    node 
*head;
Linked List C implement  (1)    
int x,y;
Linked List C implement  (1)    head
=Creat_Node();
Linked List C implement  (1)    
printf("在y前插入x,输入y,x:");
Linked List C implement  (1)    scanf(
"%d%d",&y,&x);
Linked List C implement  (1)    Print_Node(head);
Linked List C implement  (1)    Before_y_Insert_x(head
,y,x);
Linked List C implement  (1)    Print_Node(head);
Linked List C implement  (1)    
return 0;
Linked List C implement  (1)}
Linked List C implement  (1)
Linked List C implement  (1)

相关文章:

  • 2021-11-10
  • 2021-04-28
  • 2022-12-23
  • 2021-08-19
  • 2021-05-21
  • 2021-11-29
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-11-24
  • 2021-09-15
  • 2021-09-02
  • 2021-12-17
  • 2021-11-10
相关资源
相似解决方案