刪除陣列中的元素(連結串列)
描述給定N個整數,將這些整數中與M相等的刪除 假定給出的整數序列為:1,3,3,0,-3,5,6,8,3,10,22,-1,3,5,11,20,100,3,9,3 應該將其放在一個連結串列中,連結串列長度為20 要刪除的數是3,刪除以後,連結串列中只剩14個元素:1 0 -3 5 6 8 10 22 -1 5 11 20 100 9
要求:必須使用連結串列,不允許使用陣列,也不允許不刪除元素直接輸出 程式中必須有連結串列的相關操作:建立連結串列,刪除元素,輸出刪除後連結串列中元素,釋放連結串列 不符合要求的程式即使通過,也會算作0分
輸入輸入包含3行: 第一行是一個整數n(1 <= n <= 200000),代表陣列中元素的個數。 第二行包含n個整數,代表陣列中的n個元素。每個整數之間用空格分隔;每個整數的取值在32位有符號整數範圍以內。 第三行是一個整數k,代表待刪除元素的值(k的取值也在32位有符號整數範圍內)。輸出輸出只有1行: 將陣列內所有待刪除元素刪除以後,輸出陣列內的剩餘元素的值,每個整數之間用空格分隔。樣例輸入20 1 3 3 0 -3 5 6 8 3 10 22 -1 3 5 11 20 100 3 9 3 3樣例輸出
1 0 -3 5 6 8 10 22 -1 5 11 20 100 9
#include<stdio.h>
#include<stdlib.h>
struct node
{
int num;
struct node *next;
};
int a,b,c;
struct node *creat(void)
{
struct node *head,*p,*q;
int i;
head = NULL;
for(i = 0;i < a;i++)
{
scanf("%d",&b);
p = (struct node*)malloc(sizeof(struct node));
p -> num = b;
p -> next = NULL;
if(head == NULL)
head = p;
else
q -> next = p;
q = p;
}
return head;
}
struct node *del(struct node *head,int c)
{
struct node *p,*q;
p = head;
while(p != NULL)
{
if(c == p -> num)
{
if(p == head)
{
head = p -> next;
q = p -> next;
}
else
{
q -> next = p -> next;
}
}
else
{
q = p;
}
p = p -> next;
}
return head;
}
void print(struct node *head)
{
int i = 0;
struct node *p;
p = head;
while(p != NULL)
{
if(i)
printf(" ");
printf("%d",p -> num);
p = p -> next;
i = 1;
}
printf("\n");
}
int main()
{
struct node *head;
int i = 0;
scanf("%d",&a);
head = creat();
scanf("%d",&c);
head = del(head,c);
print(head);
return 0;
}
相關文章
- 演算法刪除單連結串列中重複的元素演算法
- 資料結構實驗之連結串列七:單連結串列中重複元素的刪除資料結構
- js刪除陣列中重複的元素JS陣列
- js刪除陣列中的重複元素JS陣列
- js刪除陣列元素中的指定值JS陣列
- PHP從陣列中刪除元素的方法PHP陣列
- JS] JS 之刪除陣列中的元素JS陣列
- JavaScript刪除陣列元素JavaScript陣列
- 83. 刪除排序連結串列中的重複元素(JavaScript版)排序JavaScript
- 力扣-83. 刪除排序連結串列中的重複元素力扣排序
- 為什麼陣列查詢比連結串列要快?而插入刪除比連結串列效率低陣列
- 0928面試小節:刪除有序連結串列中的重複元素面試
- JavaScript 刪除陣列指定元素JavaScript陣列
- JavaScript刪除array陣列元素JavaScript陣列
- JavaScript陣列開頭或者結尾刪除元素JavaScript陣列
- leetcode-82:刪除排序連結串列中重複的元素-iiLeetCode排序
- 刪除陣列中的指定元素例項程式碼陣列
- javascript刪除陣列中的重複元素程式碼JavaScript陣列
- 陣列和連結串列陣列
- 陣列與連結串列陣列
- Array · 刪除陣列中指定的元素陣列
- PHP 刪除陣列中元素的方式PHP陣列
- 根據陣列的值刪除元素陣列
- js刪除陣列指定索引的元素JS陣列索引
- javascript刪除陣列元素的程式碼JavaScript陣列
- js連線多個陣列並刪除重複的元素JS陣列
- 刪除陣列中一個或者多個連續的元素陣列
- JavaScript 刪除陣列重複元素JavaScript陣列
- JavaScript 陣列新增或者刪除元素JavaScript陣列
- JavaScript陣列刪除重複元素JavaScript陣列
- JavaScript刪除陣列中指定元素JavaScript陣列
- (c語言實現)刪除有序連結串列中重複出現的元素C語言
- 資料結構之連結串列與陣列(1):陣列和連結串列的簡介資料結構陣列
- JavaScript刪除陣列第一個元素JavaScript陣列
- 陣列和連結串列的區別陣列
- 從未排序的連結串列中刪除重複項排序
- leetcode----刪除連結串列中的節點LeetCode
- javascript刪除陣列中重複元素程式碼例項JavaScript陣列