#include<stdio.h>
#include<stdlib.h>
int n;
typedef struct Lnode
{
int data;
struct Lnode *next;
struct Lnode *bef;
}Lnode;
void creatlist(Lnode *&p)
{
Lnode *pr,*ps;
pr=p;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
ps = (Lnode*)malloc(sizeof(Lnode));
scanf("%d",&ps->data);
pr->next = ps;
ps->bef = pr;
pr = ps;
}
pr->next = NULL;
}
void actlist(Lnode *&p)
{
Lnode *pr,*ps;
pr = p->next;
// ps = (Lnode*)malloc(sizeof(Lnode));
for(int i=0;i<n-1;i++)
{
for(int j=0;j<n-1&&pr!=NULL;j++)
{
if(pr->data > pr->next->data)
{
pr->bef=pr->next;
pr->next->bef=pr->bef;
pr->bef->next = pr->next;
pr->next = pr->next->next;
}
}
}
}
void prilist(Lnode *p)
{
Lnode *pr;
pr = p->next;
for(;pr!=NULL;)
{
printf("%d ",pr->data);
pr = pr->next;
}
}
int main()
{
Lnode *p;
p = (Lnode*)malloc(sizeof(Lnode));
p->bef = NULL;
p->next = NULL;
creatlist(p);
actlist(p);
prilist(p);
return 0;
}
actlist函数不清楚哪儿打错了,求解
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 社区专家-Monster-XH 2023-04-01 17:57关注
排序问题
#include <stdio.h> #include <stdlib.h> typedef struct Lnode { int data; struct Lnode *next; struct Lnode *bef; } Lnode; void create_list(Lnode *&head) { int n; scanf("%d", &n); Lnode *p = head; for (int i = 0; i < n; i++) { Lnode *node = (Lnode*)malloc(sizeof(Lnode)); scanf("%d", &node->data); p->next = node; node->bef = p; p = node; } p->next = NULL; } void sort_list(Lnode *&head) { if (head->next == NULL) return; Lnode *p = head->next->next; while (p != NULL) { Lnode *q = p->bef; int key = p->data; while (q != head && q->data > key) { q->next->data = q->data; q = q->bef; } if (q != head && q->data > key) { q->next->data = q->data; q->data = key; } else { q->next->data = key; } p = p->next; } } void print_list(Lnode *head) { Lnode *p = head->next; while (p != NULL) { printf("%d ", p->data); p = p->next; } printf("\n"); } int main() { Lnode *head = (Lnode*)malloc(sizeof(Lnode)); head->data = 0; head->next = NULL; head->bef = NULL; create_list(head); sort_list(head); print_list(head); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 AT89C51控制8位八段数码管显示时钟。
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 下图接收小电路,谁知道原理
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度
- ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
- ¥15 ETLCloud 处理json多层级问题
- ¥15 matlab中使用gurobi时报错
- ¥15 这个主板怎么能扩出一两个sata口