冒泡排序(交换排序一)

来源:互联网 发布:java replace 点号 编辑:程序博客网 时间:2024/05/22 11:31

        最近在总结排序算法,今天抽空写了一个简单的冒泡排序。

简单明了,以备今后回顾。 14年11月18日

#include <iostream>#include <iomanip>using namespace std;#define Size 10#define False 0#define True  1typedef int DataType;void Orderedlist(DataType digit[]);void PaintOrderedlist(DataType digit[]);int main(void){DataType digit[Size] = {89, 53, 32, 34, 12,45, 14, 16, 56, 23};PaintOrderedlist(digit);Orderedlist(digit);PaintOrderedlist(digit);return 0;}/*  冒泡:  (1) 小数向大数冒泡  (2)大数向小数冒泡*/void Orderedlist(DataType digit[]){cout<<"After sort..."<<endl;bool swap = False;DataType temp;int i;int j;for(i = 0; i < Size-1; i++)// i < Size and i < Size-1 all are ok{swap = False;for(j = Size-1; j > i; j--) //最好从后往前排{if(digit[j-1] > digit[j]){temp = digit[j];digit[j] = digit[j-1];digit[j-1] = temp;swap = True;}}if(!swap) break;}}void PaintOrderedlist(DataType digit[]){for(int i = 0; i < Size; i++)cout<<digit[i]<<setw(3);cout<<endl;}


0 0
原创粉丝点击