数据结构冒泡排序法
#include<stdio.h>#include<stdlib.h>#definedatatype1int#definenull0#defineend-1#define...
#include<stdio.h>
#include<stdlib.h>
#define datatype1 int
#define null 0
#define end -1
#define d "%d"
#define len sizeof(linklist)
typedef struct node
{
datatype1 data;
struct node *next;
}linklist;
/*头插入法建表函数*/
linklist *creatlinkh()
{
linklist *t,*head;
datatype1 x;
t=(linklist *) malloc(len);
t->next=null;head=t;
printf("请有序输入数据:\n");
scanf(d,&x);
while(x!=end)
{ t=(linklist *) malloc(len);
t->data=x;
t->next=null;
t->next=head->next;
head->next=t;
scanf(d,&x);
}
return(head);
}
已经建好单链表 如何来冒泡排序? 展开
#include<stdlib.h>
#define datatype1 int
#define null 0
#define end -1
#define d "%d"
#define len sizeof(linklist)
typedef struct node
{
datatype1 data;
struct node *next;
}linklist;
/*头插入法建表函数*/
linklist *creatlinkh()
{
linklist *t,*head;
datatype1 x;
t=(linklist *) malloc(len);
t->next=null;head=t;
printf("请有序输入数据:\n");
scanf(d,&x);
while(x!=end)
{ t=(linklist *) malloc(len);
t->data=x;
t->next=null;
t->next=head->next;
head->next=t;
scanf(d,&x);
}
return(head);
}
已经建好单链表 如何来冒泡排序? 展开
2个回答
展开全部
...为什么要用链表不用数组...
我和你学的语言不一样 但智能这样说了
创建两个指针(p,q),指向链头(t).
然后q指向为t的下一个数值
p不动 然后两者比较
做完上述动作
q指向它当前所指的数值的下一个数值
p指向刚才q所指的数值
接着重复比较动作
当然 实现的话就是递归循环
如果用数组
则 for i{1~n}
for {j~n}(两重循环)
if a[j]<a[j+1] then a[j]与a[j+1]交换.
我和你学的语言不一样 但智能这样说了
创建两个指针(p,q),指向链头(t).
然后q指向为t的下一个数值
p不动 然后两者比较
做完上述动作
q指向它当前所指的数值的下一个数值
p指向刚才q所指的数值
接着重复比较动作
当然 实现的话就是递归循环
如果用数组
则 for i{1~n}
for {j~n}(两重循环)
if a[j]<a[j+1] then a[j]与a[j+1]交换.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
TableDI
2024-07-18 广告
2024-07-18 广告
Excel一键自动匹配,在线免费vlookup工具,3步完成!Excel在线免费vlookup工具,点击15步自动完成vlookup匹配,无需手写公式,免费使用!...
点击进入详情页
本回答由TableDI提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |