快速排序算法设计,C++实现代码
2009-09-08 13:54
513 查看
#include <iostream>
using namespace std;
/**
选择排序算法设计,c++实现
**/
/************************************************************************/
/* 找出数组中最小值的索引 */
/************************************************************************/
int indexOfSmallest(int a[],int startIndex,int numberUsed)
{
int min=a[startIndex];
int indexOfMin=startIndex;
for(int index=startIndex+1;index<numberUsed;index++)
{
if(a[index]<min)
{
min=a[index];
indexOfMin=index;
}
}
return indexOfMin;
}
/************************************************************************/
/* 交换数据 */
/************************************************************************/
void swapValues(int& num1,int& num2)
{
int temp=-1;
temp=num1;
num1=num2;
num2=temp;
}
/************************************************************************/
/* 排序算法(从小到大) */
/************************************************************************/
void sorts(int arrayStr[],int numUsed)
{
if(arrayStr==NULL)
return ;
int min=arrayStr[0];
// cout<<"排序之前的数据为:";
// for(int k=0;k<numUsed;k++)
// {
// cout<<arrayStr[k]<<",";
// }
// cout<<endl;
for(int i=0;i<numUsed;i++)
{
min=SortNum::indexOfSmallest(arrayStr,i,numUsed);
SortNum::swapValues(arrayStr[i],arrayStr[min]);
}
// cout<<"排序后的数组为:";
// for(int j=0;j<numUsed;j++)
// {
// cout<<arrayStr[j]<<",";
// }
// cout<<endl;
return;
}
/************************************************************************/
/*方法二:
将上述三个函数合并为一个函数(选择排序)
*/
/************************************************************************/
void oneFunSorts(int arr[],int numUsed)
{
if(arr==NULL)
return;
int min=arr[0];
int minIndex=0;
int temp;
for(int i=0;i<numUsed;i++)
{
for(int j=i+1; j<numUsed;j++)
{
if(arr[j]<min)
{
min=arr[j];
minIndex=j;
}
}
temp=arr[i];
arr[i]=arr[minIndex];
arr[minIndex]=temp;
}
}
using namespace std;
/**
选择排序算法设计,c++实现
**/
/************************************************************************/
/* 找出数组中最小值的索引 */
/************************************************************************/
int indexOfSmallest(int a[],int startIndex,int numberUsed)
{
int min=a[startIndex];
int indexOfMin=startIndex;
for(int index=startIndex+1;index<numberUsed;index++)
{
if(a[index]<min)
{
min=a[index];
indexOfMin=index;
}
}
return indexOfMin;
}
/************************************************************************/
/* 交换数据 */
/************************************************************************/
void swapValues(int& num1,int& num2)
{
int temp=-1;
temp=num1;
num1=num2;
num2=temp;
}
/************************************************************************/
/* 排序算法(从小到大) */
/************************************************************************/
void sorts(int arrayStr[],int numUsed)
{
if(arrayStr==NULL)
return ;
int min=arrayStr[0];
// cout<<"排序之前的数据为:";
// for(int k=0;k<numUsed;k++)
// {
// cout<<arrayStr[k]<<",";
// }
// cout<<endl;
for(int i=0;i<numUsed;i++)
{
min=SortNum::indexOfSmallest(arrayStr,i,numUsed);
SortNum::swapValues(arrayStr[i],arrayStr[min]);
}
// cout<<"排序后的数组为:";
// for(int j=0;j<numUsed;j++)
// {
// cout<<arrayStr[j]<<",";
// }
// cout<<endl;
return;
}
/************************************************************************/
/*方法二:
将上述三个函数合并为一个函数(选择排序)
*/
/************************************************************************/
void oneFunSorts(int arr[],int numUsed)
{
if(arr==NULL)
return;
int min=arr[0];
int minIndex=0;
int temp;
for(int i=0;i<numUsed;i++)
{
for(int j=i+1; j<numUsed;j++)
{
if(arr[j]<min)
{
min=arr[j];
minIndex=j;
}
}
temp=arr[i];
arr[i]=arr[minIndex];
arr[minIndex]=temp;
}
}
相关文章推荐
- 简单了解设计模式中的装饰者模式及C++版代码实现
- C++之设计模式实现代码
- C++之设计模式实现代码
- c++实现设计模式中的观察者模式,削除代码的if else switch
- C++实现w3cshool设计模式教程--设计模式中的Java代码
- 快速排序算法学习及C++代码实现
- 设计模式之单例模式(C++代码实现)
- HEAD_FIRST设计模式学习 ----策略模式 c++简单实现代码
- 我所理解的设计模式(C++实现)——原型模式(Prototype Pattern)
- 简易C/C++日志代码实现
- 设计模式C++实现(1)——工厂模式
- 设计模式C++实现(9)——享元模式
- 设计模式C++实现(15)——观察者模式
- android截屏代码:C++实现
- 算法设计、分析与实现 从入门到精通 C、C++和Java 这本书的堆实现85页C++语言实现有问题
- 设计模式-适配器模式 C++实现
- 设计模式C++实现(5)——原型模式、模板方法模式
- 每日进步之leetcode第16题C++实现代码(
- 系统操作日志设计-代码实现
- 设计模式---策略模式(C++实现)