创建一个单链表,按降序对其中的元素进行排序,并输出链表 5

跪求程序代码,谢谢!!!俺这个小小菜鸟写的程序,有些错误不会改,请大家帮我改下,万分谢谢啊!!!#include<iostream>usingnamespacestd;s... 跪求程序代码,谢谢!!!
俺这个小小菜鸟写的程序,有些错误不会改,请大家帮我改下,万分谢谢啊!!!
#include<iostream>
using namespace std;
struct list
{
int data;
List; *nest;
}Node,*list;
List; *head=new List;
void sort()
{
head->next=NULL;
List *p=*head,*p1,*p2;
int n=this->Get List Cnt();
int a[i];
cin>>a[i];
for(int i=0;i<n-1;i++)
{
p1=head;
for(int j=0;j<n-i-1;j++)
{
p2=p1->next;
if(p1->data<p2->data)
{
int k=p1->data;
p1->data=p2->data;
p2->data=k;
}
p1=p1->next;
}
}
}
int main()
{
cout<<"please input the number of list";
cin>>a[i];
sort();
cout<<"output the number of list";
list *p=head->next;
while(p!=NULL)
{
cout<<p->data;
p=p->next;
}
system("pause");
return 0;
}
展开
 我来答
firsun
推荐于2018-04-19 · TA获得超过187个赞
知道答主
回答量:95
采纳率:100%
帮助的人:152万
展开全部
输入int型数据
数据大于32767或小于-32768
结束创建链表
然后按降输出

#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
typedef int ElemType;
typedef struct linklist
{
struct linklist *next;
ElemType data;
}Node,*linklist;

linklist creatFromHead(void)
{
int n;
linklist h;
Node *node;
h=(linklist)malloc(sizeof(Node));
h->next=NULL;
scanf("%d",&n);
while(n>32767||n<-32768)
{
node=(linklist)malloc(sizeof(Node));
node->next=h->next;
h->next=node;
node->data=n;
scanf("%d",&n);
}
return(h);
}

int len(linklist h)
{
int i=0;
while(h->next!=NULL)
{
h=h->next;
i++;
}
return(i);
}

void insSort(linklist h)
{
int i,j,l;
linklist p1,p2;
l=len(h);
for(i=1;i<l;i++)
{
p1=h->next;
p2=h->next->next;
for(j=1;j<=l-i;j++)
{
if(p1->data<p2->data)
{
p1->data=p1->data^p2->data;
p2->data=p1->data^p2->data;
p1->data=p1->data^p2->data;
}
p1=p1->next;
p2=p2->next;
}
}
}

void print(linklist h)
{
while(h->next!=NULL)
{
printf("%d ",h->next->data);
h=h->next;
}
putchar('\n');
}

int main(void)
{
linklist l;
l=creatFromHead();
print(l);
insSort(l);
print(l);
system("pause");
return(0);
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式