顯示廣告
隱藏 ✕
看板 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)轉錄 同主題: =)首篇 [)上篇 ])下篇
看板名稱: 確定(Enter) 取消(Esc) 搜尋(Space)
查詢帳號: 確定(Enter) 取消(Esc) 搜尋(Space)
搜尋: m)m文 b)進板 c)未分類 a)作者 /)標題 q)取消?[q]

搜尋 送出(Enter) 取消(Esc)

回覆文章至: f)看板 m)作者信箱 b)兩者皆是 q)取消?[f]
要引用原文嗎? y)引用原文 n)不引用 a)全部回覆 r)複製原文 q)取消?[y]
轉錄本文章於看板: 1)使用連結 2)使用複製 q)取消 ?[1]
轉寄至站內信箱於使用者: 確定(Enter) 取消(Esc)
轉寄至站內信箱於使用者: 確定(Enter) 取消(Esc)
修改文章標題為: 確定(Enter) 取消(Esc)
修改文章標題為: 確定(Enter) 取消(Esc) 全部(a)

確定要刪除這篇文章?(可按大U救回) 確定(Enter) 取消(Esc)

刪除理由:

確定(Enter) 取消(Esc)
加到這個分類: 確定(Enter) 下一層(→) 回上層(←) 取消(Esc)
你覺得這篇文章: 1)真讚 2)真瞎 q)取消?[1] (再選一次即可收回)
你覺得這篇文章: 1)值得推薦 2)表示反對 3)單純註解 q)取消?[3]
guest
預覽(Enter) 取消(Esc)
上傳圖片
按ctrl+Enter可輸入下一行。
guest
確定要送出? 確定(Enter) 取消(Esc) 繼續(e)
搜尋: 送出(Enter) 取消(Esc)

▏▎▍▌▋▊▉ 請按任意鍵繼續