<代码收藏>分组排序和冒泡排序
2013-09-01 00:17
603 查看
#include <iostream> #include <ctime> #include <cstdlib> using namespace std; void groupSort() { srand(unsigned(time(NULL))); int size =rand()%20; int* arr=new int[size]; for(int i=0;i<size;++i) { arr[i]=rand()%100; } cout<<"before sort"<<endl; for(int i=0;i<size;++i) { cout<<arr[i]<<"\t"; } for(int i=0;i<size-1;++i) { int k=i; for(int j=i+1;j<size;++j) { if(arr[k]>arr[j]) { k=j; } } if(k!=i) { int temp=arr[k]; arr[k]=arr[i]; arr[i]=temp; } } cout<<endl<<"after sort"<<endl; for(int i=0;i<size;++i) { cout<<arr[i]<<"\t"; } delete []arr; } void bubbleSort() { srand(unsigned(time(NULL))); int size=rand()%20; int* arr=new int[size]; for(int i=0;i<size;++i) { arr[i]=rand()%100; } cout<<"before bubblesort"<<endl; for(int i=0;i<size;++i) { cout<<arr[i]<<"\t"; } cout<<endl; for(int i=0;i<size-1;++i) { bool isright=true; for(int j=0;j<size-1-i;++j) { if(arr[j]>arr[j+1]) { isright=false; int temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } if(isright) { break; } } cout<<"after bubblesort"<<endl; for(int i=0;i<size;++i) { cout<<arr[i]<<"\t"; } delete []arr; } void main() { //groupSort(); //bubbleSort(); int a; cin>>a; }
相关文章推荐
- <代码收藏>字定义strlen和strcpy
- <代码收藏>矩阵相乘
- <代码收藏>动态生成数组
- <代码收藏>二分查找
- <代码收藏>动态生成数组
- <算法复习>排序之一---冒泡排序
- <菜鸟学算法-A排序(冒泡排序)>
- <ul>中的<li>我点击一个<li>后其它的<li>全变背景色,求JS和CSS代码 <ul>中的<li>我点击一个<li>后其它的<li>全变背景色 要图中效果,求JS和CSS代码 (搜搜问问)
- 首页html代码的<head>和</head>之间的内容
- &lt;org manual&gt;翻译--3.3 对列进行分组
- 将js代码放到<head>标签和放到<body>标签里的区别
- <iOS>iPhone 应用里实现截屏功能的代码
- <备忘1005> VLC代码分析之一
- <algorithm.h>中sort对结构体排序的用法
- <笔试><面试>编写一个排序函数,实现,既可以排序整形数组,又可以排序字符串。
- <收藏>Character Converter
- <代码之髓>读后感
- C语言冒泡排序及选择排序优化<代码>
- <Linux+Qt>一种移植qt可执行代码的方式
- <转>防止刷新/后退引起的重复提交问题的Java Token代码,非Struts