# 冒泡排序

＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊普通冒泡排序法BEGIN＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊

void main(){
int num[]={8,6,7,5,3,4,2,1,0,9},state=1;
for(int i=0;(i<=9)&&state;i++){
state=0;
for(int j=0;j<=9-i;j++)
if(num[j]>num[j+1]){
int temp=num[j];
num[j]=num[j+1];
num[j+1]=temp;
state=1;
}
}
for(i=0;i<=9;i++)
cout<<num[i]<<"   ";
}

＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊普通冒泡排序法OVER＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊

＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊冒泡排序法（链表实现）BEGIN＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊

typedef struct Node{
int v;
struct Node *next;
}Node;
void Insert(Node *L,int e){
Node *temp=new Node;
temp->v=e;
temp->next=NULL;
L->next=temp;
}
void main(){
Node *H=new Node,*L=new Node,*p0=new Node,*p1=new Node;
L=H;
Insert(H,8);
H=H->next;
Insert(H,6);
H=H->next;
Insert(H,7);
H=H->next;
Insert(H,5);
H=H->next;
Insert(H,3);
H=H->next;
Insert(H,4);
H=H->next;
Insert(H,2);
H=H->next;
Insert(H,1);
H=H->next;
Insert(H,0);
H=H->next;
Insert(H,9);
H=L;
L=L->next;
/*while(L!=NULL){
printf("%d  ",L->v);
L=L->next;
}//构造整个链表
//用链表实现出泡法  */
int state=1,Max=100;　//  将MAX的值设为100，利于第一轮循环
for(p0=H->next;p0!=NULL&&state;p0=p0->next){
state=0;
for(p1=H->next;p1->next!=NULL&&p1->v!=Max;p1=p1->next)
if((p1->v)>(p1->next->v)){
int a;
a=p1->v;
p1->v=p1->next->v;
p1->next->v=a;
state=1;
}
Max=0;
for(p1=H->next;p1->next!=NULL&&p1->v!=Max;p1=p1->next)　//此循环求出这一次范围中的最大值赋给MAX
if(p1->v>Max)
Max=p1->v;
}
while(L!=NULL){
printf("%d  ",L->v);
L=L->next;
}
}

＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊冒泡排序法（链表实现）OVER＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊

#### 冒泡排序C# 冒泡排序

2011年04月20日 15KB 下载

#### C排序—— 一个简约的方法

2009年02月20日 404B 下载

#### C# ,冒泡排序,JAVA

2008年11月13日 1KB 下载

#### ArrayList实现冒泡排序

2016-06-13 11:31:04

#### 冒泡排序的N种写法

2016-07-15 17:00:07

#### php冒泡排序详解笔记

2016-10-10 12:35:45

#### [初学python]编写冒泡排序

2017-01-31 22:39:12

#### OC的冒泡排序

2015-10-13 21:04:53

#### 最简单的排序算法之一冒泡排序----js实现

2017-02-15 11:26:46

#### java冒泡排序的几种写法

2016-08-27 12:19:44