顯示廣告
隱藏 ✕
看板 Programming
作者 iloveyouever(笨笨)
標題 氣泡排序法
時間 2010年04月23日 Fri. AM 12:19:19


分享自己寫的

希望有助於幫助大家了這種排序的方式

這種方是主要是用於"前面如果比較大的話 就跟後面那一項交換的原則"

#include<iostream>
#include<stdlib.h>
	
	
	
	
//使用srand(() ) 和 rand()
#include<time.h>
	
	
	
	
//使用隨時間變化
#include<iomanip>
	
	
	
	
//使用setw()
using namespace std;
int main()
{
	
srand((unsigned)time);
	
int numbers[10]={0};
	
int times=0;
	
int change1 , change2;
	
int temp;

	
for(times=0;times<=9;times++)
	
{
	
	
numbers[times]=(rand()%100)+1;
	
	
cout<<'|'<<setw(3)<<numbers[times];
	
	
//原始產生的亂數
	
}
	

	
cout<<endl;

	
for (change1=0;change1<=9;change1++)
	
	
	
//重新第一個交換
	
{
	
	
for (change2=0;change2<=8;change2++)
	
	
//相鄰兩數字交換
	
	
{
	
	
	
if(numbers[change2]>numbers[change2+1])
	
//如果前項大於後項的話交換
	
	
	
{
	
	
	
temp=numbers[change2];
	
	
	
numbers[change2]=numbers[change2+1];
	
	
	
numbers[change2+1]=temp;
	
	
	
}
	
	
	
cout<<'|'<<setw(3)<<numbers[change2];
	
	
}

	
	
cout<<'|'<<setw(3)<<numbers[change2]<<endl;
	
}
	
return 0;
}

--
※ 來源: DISP BBS 看板: Programming 文章連結: http://disp.cc/b/33-1Jl
※ 作者: iloveyouever  來自: 163.22.18.79  時間: 2010-04-23 00:19:19
※ 同主題文章:
  04-23 11:35 art0709 Re 氣泡排序法
※ 看板: Programming 文章推薦值: 5 目前人氣: 0 累積人氣: 657 
( ̄︶ ̄)b Knuckles, art0709, AllanCat 說讚!
1樓 時間: 2010-04-23 02:12:56 (台灣)
  04-23 02:12 TW
推~
2樓 時間: 2010-04-23 10:00:27 (台灣)
  04-23 10:00 TW
開心XD大家都幫我推推XD
3樓 時間: 2013-08-20 04:10:18
  08-20 04:10
有點懷念><距離我學的這個程式手法有將近2年的時間了OAO 因為很少接觸到變的生疏了..慚愧((捂臉
4樓 時間: 2015-02-17 22:37:38 (香港)
  02-17 22:37 HK
第二層迴圈的判斷可以改成change2<=8-change1
因為每次最大的項都會被換到後面不會再動了
另外swap的時候可以用a^=b;b^=a;a^=b;少用一個變數
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇