/*
用单链表保存m个整数,节点的结构为[data][next],且|data|<=n。现要求设计一个时间复杂度尽可能高效算法,
对于链表中绝对值相等的节点,仅保留第一次出现的节点而删除其余绝对值相等的节点。
分析:
中提到时间复杂度尽可能高效,其本上就是暗示我们采用空间换时间的方式。因为数据是小于等于n的,我们可以开辟一块
大小为n的数组,初始值为0,之后我们遍历链表,节点值既是我们寻找的下标,如果下标所在的数组值为0,则将值变为1,如果
数组值已经为1,则说明在此之前我们遇见过绝对值相同的元素,故将此节点删除。
*/
#include<stdio.h>
#include<stdlib.h>
typedef struct LNode
{
int value;
struct LNode *next;
}LNode,*Linklist;
Linklist list_TailInsert(Linklist &L)
{
LNode *head = L,*rear = L;
L = (Linklist)malloc(sizeof(LNode));
L->next = NULL;
L->value = NULL;
int x;
printf("请输入单链表结点的个数:");
scanf("%d",&x);
for(int i = 0; i < x; i++)
{
int value;
printf("请输入单链表第%d个结点的值:",i+1);
scanf("%d",&value);
LNode *s;
s = (Linklist)malloc(sizeof(LNode));
s->value = value;
s->next = NULL;
rear->next = s;
rear = s;
}
rear->next = NULL;
return L;
}
void Display(Linklist &L)
{
LNode *p = L->next;
while(p != NULL)
{
printf("%d ",p->value);
p = p->next;
}
printf("\n");
}
int main()
{
Linklist L1;
list_TailInsert(L1);
Display(L1);
return 0;
}
这个怎么输入不了呢?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- Soda Wang 2021-07-19 21:36关注
生成链表的时候,返回的是头结点的值,所以应该写
Linklist L1 = list_TailInsert();
另外,引用是C++里的,Display函数要改成
void Display(Linklist L)
完整代码如下:
#include <stdio.h> #include <stdlib.h> typedef struct LNode { int value; struct LNode *next; }LNode,*Linklist; Linklist list_TailInsert() { LNode *L = (Linklist)malloc(sizeof(LNode)); LNode *head = L,*rear = L; L->next = NULL; L->value = 0; int x; printf("请输入单链表结点的个数:"); scanf("%d",&x); for(int i = 0; i < x; i++) { int value; printf("请输入单链表第%d个结点的值:",i+1); scanf("%d",&value); LNode *s; s = (Linklist)malloc(sizeof(LNode)); s->value = value; s->next = NULL; rear->next = s; rear = s; } rear->next = NULL; return L; } void Display(Linklist L) { LNode *p = L->next; while(p != NULL) { printf("%d ",p->value); p = p->next; } printf("\n"); } int main() { Linklist L1 = list_TailInsert(); Display(L1); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 ansys fluent计算闪退
- ¥15 有关wireshark抓包的问题
- ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
- ¥15 向数据表用newid方式插入GUID问题
- ¥15 multisim电路设计
- ¥20 用keil,写代码解决两个问题,用库函数
- ¥50 ID中开关量采样信号通道、以及程序流程的设计
- ¥15 U-Mamba/nnunetv2固定随机数种子
- ¥15 vba使用jmail发送邮件正文里面怎么加图片
- ¥15 vb6.0如何向数据库中添加自动生成的字段数据。