| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1806 人关注过本帖
标题:经典算法------单链表冒泡排序
只看楼主 加入收藏
激情依旧
Rank: 1
等 级:新手上路
威 望:2
帖 子:524
专家分:0
注 册:2005-4-4
收藏
 问题点数:0 回复次数:0 
经典算法------单链表冒泡排序

#include<stdio.h> #include<malloc.h> #include<stdlib.h> typedef struct node{ int data; struct node *next; }Node,*Linklist; Linklist createlist(int n) { Node *p,*q,*head; int i=0,x; head=(Node *)malloc(sizeof(Node)); head->next=NULL; q=head; printf("请输入排序的数字:\n"); for(i=0;i<n;i++) { scanf("%d",&x); p=(Node *)malloc(sizeof(Node)); p->data=x; p->next=NULL; q->next=p; q=p; p=NULL; } return head; } Linklist bubblesort(Linklist head) { Node *p,*q,*tail,*s; tail=NULL; while(head->next!=tail) { p=head; q=p->next; while(q->next!=tail) { if(p->next->data>q->next->data) { s=q->next; p->next=q->next; q->next=q->next->next; p->next->next=q; q=s; } p=p->next; q=q->next; } tail=q; } } void output(Linklist head) { Linklist p; p=head->next; while(p) {printf("%d\t",p->data); p=p->next; } } main() {int n; Node *head; printf("请问你要输入几个排序数:\n"); scanf("%d",&n); head=createlist(n); printf("排序前:\n"); output(head); bubblesort(head); printf("\n排序后:\n"); output(head);

}

图片附件: 游客没有浏览图片的权限,请 登录注册

[此贴子已经被作者于2005-5-12 10:21:57编辑过]

搜索更多相关主题的帖子: Node 单链 算法 head 经典 
2005-04-06 09:56
快速回复:经典算法------单链表冒泡排序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018100 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved