王堃1998 发表于 2018-10-18 21:32:34

用c语言怎么样写出删除链表中的所有相同元素?急

怎么用C语言写出删除一个链表中的所有相同的元素的程序???????
特别着急!!!
望大神帮我写出代码万分感谢!

claws0n 发表于 2018-10-18 21:34:28

#include<stdio.h>

void DELETEITEM(int a[], int &n, int item)
{
    for (int i = 0; i < n; i++)
    {
      if(a == item)
      {
            n--;
            for (int j = i; j < n; j++)
                  a = a;
            i--;
      }
    }
}

int main()
{      
    int a[] = {1,3,5,2,3,5,7};
    int n = sizeof(a)/sizeof(a);
    DELETEITEM(a,n,3);
    for (int i = 0;i < n;i++)
    {
      printf("%d ",a);
    }
    return 0;
}

claws0n 发表于 2018-10-18 21:43:19

不好意思,上面的是 C++#include<stdio.h>
int DELETEITEM(int a[],int n,int item)
{
    int i,j, count;
    count=0; // 用来统计删了多少个
    for (i = 0; i<n;i++)
    {
      if(a==item)
      {
            for(j=i; j<n-1;j++)
            {
                a= a;
            }
            count++;
       }
    }

    return n-count; // 删了后数组的长度
}
int main()
{
      int i, newLen;      
      int a[] = {1,3,5,2,3,5,7};
      
      i=0;
      newLen = DELETEITEM(a,7,3);

      for (i = 0;i < newLen;i++)
      {
                printf("%d\n",a);
      }
}

筱小 发表于 2018-10-21 09:01:43

以第一个数为参照,后面的数如果与第一个相同,则将删除后面这个具有相同值的节点,然后在与后面的数进行比较
页: [1]
查看完整版本: 用c语言怎么样写出删除链表中的所有相同元素?急