冒泡排序

原创 2006年06月21日 00:16:00

****************普通冒泡排序法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***************

 

哈哈,今天又学到了一点点哦,开心ING

冒泡排序由浅入深详细分析图解

冒泡排序 * 相邻元素两两比较,大的往后放,第一次完毕后,最大值就出现在 * 最大索引处,同理,继续,即可得到一个排序好的数组 * * 规律: * 1、两两比较,大的往后放。 ...
  • starjuly
  • starjuly
  • 2016年12月25日 19:49
  • 3482

【原创】增强版冒泡排序算法-java版

第N趟循环,如果已经没有移动元素的操作,说明排序已完成,循环应该退出,不必再执行后续的循环操作,因为就算比较也不会再有元素会被移动。增加此控制计数器。控制循环退出。...
  • li396864285
  • li396864285
  • 2016年06月13日 17:39
  • 564

OC的冒泡排序

#import int main(int argc, const char * argv[]) { @autoreleasepool { /* 冒泡...
  • qq331429844
  • qq331429844
  • 2015年10月13日 21:04
  • 6576

冒泡排序的2种写法

假如有几个数字int score[] = {67, 69, 75, 88};  按照从大到小排序。 有2种思路,第一种,score[j] 和 score[j+1] 比较 如果 前者比后者小,把前者和...
  • shuaizai88
  • shuaizai88
  • 2017年06月14日 17:52
  • 1812

java将list集合冒泡排序

java将List集合进行冒泡排序。。。
  • xiaosheng_papa
  • xiaosheng_papa
  • 2015年01月05日 13:55
  • 4172

ArrayList实现冒泡排序

用ArrayList实现冒泡排序public class ArrayListSort { public static void main(String[] args) { Ar...
  • mhtqq809201
  • mhtqq809201
  • 2016年06月13日 11:31
  • 3297

冒泡排序练习题

import java.util.*; public class BubbleSort { public int[] bubbleSort(int[] a, int l) { ...
  • Mypromise_TFS
  • Mypromise_TFS
  • 2017年05月31日 15:38
  • 261

冒泡排序及改进(C++版)

冒泡排序:相邻两个数比较,根据大小交换位置 C++代码: /** * name:冒泡排序 * time:15/8/12 15:00 * environment: ubuntu 14.04, subli...
  • u012580566
  • u012580566
  • 2015年08月12日 16:55
  • 792

js冒泡排序原理

//----------------------简单版(冒泡排序)----------------- var arr = [7,6,5,4,3,2,1]; //需求:冒...
  • gyq04551
  • gyq04551
  • 2016年11月20日 17:16
  • 1172

java中冒泡排序,根据对象的属性,排对象

主程序排序: public class TestDmo { public static void main(String[] args) { List list=getData(); ...
  • zhaihaohao1
  • zhaihaohao1
  • 2017年06月26日 09:05
  • 180
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:冒泡排序
举报原因:
原因补充:

(最多只允许输入30个字)