zoukankan      html  css  js  c++  java
  • 基于c语言实现链表L中重复元素的清除

    #include<stdio.h>
    #include<malloc.h>
    typedef struct LinkNode{
     int data;
     struct LinkNode *next;
    }LinkNode;
    LinkNode *create_LNode(LinkNode *L){
     LinkNode *newp,*tail;
     int a;
     L=NULL;//创建一个不带头结点的链表
     printf("请输入节点: ");
     scanf("%d",&a);
     while(a!=-1){
      newp=(LinkNode*)malloc(sizeof(LinkNode));
      newp->next=NULL;
      newp->data=a;
      if(L==NULL){
       L=tail=newp;
      }
      else{
       tail->next=newp;tail=newp;
      }
      scanf("%d",&a);
     }
     return L;
    }
    LinkNode *delete_Purge(LinkNode *L){
     LinkNode *A,*B,*C;
     for(A=L;A;A=A->next){
      for(B=A,C=B->next;C;){
       if(C->data==A->data){
        B->next=C->next;
        free(C);
        C=B->next;
       }
       else{
        B=C;
        C=C->next;
       }
      }
     }
     printf("去除重复元素成功 ");
     return L;
    }
    void print(LinkNode *L){
     LinkNode *p;
     printf("去除之后链表的元素为: ");
     for(p=L;p;p=p->next){
      printf("%d ",p->data);
     }
     printf(" ");
    }
    int main(){
    LinkNode *L;
    L=create_LNode(L);
    print(L);
     
    L=delete_Purge(L);
    print(L);
    return 0;
    }

  • 相关阅读:
    正课day04
    正科day03
    正课day02
    正课day01
    预科day08
    Elasticsearch之-文档操作
    Elasticsearch之-映射管理
    Elasticsearch之-索引操作
    Elasticsearch之-倒排索引
    es安装官方,第三方插件
  • 原文地址:https://www.cnblogs.com/jiafeng1996/p/11273697.html
Copyright © 2011-2022 走看看