如何用C++解决排序问题????

wangxl3 2007-01-02 12:19:05
有整数序列{5,6,3,8,3,9,7,2,1,4,0},编程由大到小排序,打印排序后信息

结果是:9 8 7 6 5 4 3 2 1 0

谢谢~~~~
...全文
499 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
小一郎 2007-03-16
  • 打赏
  • 举报
回复
#include "iostream.h"
void main()
{
int a[10]={5,6,8,3,9,7,2,1,4,0},i,j,you;
for(i=0;i<10;i++)
for(j=0;j<9;j++)
if(a[j]>a[j+1])
{
you=a[j];
a[j]=a[j+1];
a[j+1]=you;
}
for(i=0;i<10;i++)
cout<<a[i]<<" ";


}
fangrk 2007-01-09
  • 打赏
  • 举报
回复
#include <algorithm>
#include <functional>

int Array[]={5,6,3,8,3,9,7,2,1,4,0};
const size_t S=sizeof(Array)/sizeof(Array[0]);

std::sort(Array,Array+S,std::greater<int>());
Benjoury 2007-01-08
  • 打赏
  • 举报
回复
哇 ,没想到这么简单的题目都还有这么都种方法。受教了!
warfee2006 2007-01-06
  • 打赏
  • 举报
回复
int swap(int A[], int n)
{
int i, j, temp;
for(i = 0; i < n; i++)
for(j = i + 1; j < n - 1; j ++)
if(A[i]<A[j])
{
temp = A[j] ;
A[i] = A[j] ;
A[j] = temp ;
}
return 1 ;
}

main ()
{
int A[10] ;
swap(A, 10) ;
for(int i = 0 ;i < 10; i++ )
printf("%d, ", A[i]) ;
}
潜行怪 2007-01-06
  • 打赏
  • 举报
回复

void sort(int *a,int n)
{
a[10]={{5,6,3,8,3,9,7,2,1,4,0};
for(int i=1;i<10;i++)
{
int k=i-1;
for(j=k;j<10;j++) if(a[k]<a[j]) k=j;
int temp=a[i];a[i]=a[k];a[k]=temp;
}
}

不想低调 2007-01-06
  • 打赏
  • 举报
回复
很多方法
http://community.csdn.net/Expert/TopicView3.asp?id=4811733
todototry 2007-01-06
  • 打赏
  • 举报
回复
sort()泛型算法
fiveyes 2007-01-06
  • 打赏
  • 举报
回复
随便找找就可以找到,数据结构的书上肯定会有的。
自己要写一个也不难。

#include <iostream>
using namespace std;

#define SUM 10

template <class T>
void Sort(T a[], int N)
{
for(int i=0; i<N-1; i++){
for(int j=i+1; j<N; j++){
if(a[i]<a[j]) swap(a[i], a[j]);
}
}

}
int main()
{
int a[]={5,6,8,3,9,7,2,1,4,0};
Sort(a, SUM);
for(int i=0; i<10; i++)
cout << a[i] << " ";

return 0;
}
blackmurder 2007-01-05
  • 打赏
  • 举报
回复
如果不考虑执行效率的话,冒泡或者简单选择排序是最简单的
如果考虑效率的话就要用快速排序或者是希尔排序,堆排序等
heartbeast 2007-01-05
  • 打赏
  • 举报
回复
去看看《数据结构》《算法》方面的书再说。
  • 打赏
  • 举报
回复
#include <functional>
#include <algorithm>
using namespace std;
int main(int argc, char* argv[])
{
int sz[] = {5,6,3,8,3,9,7,2,1,4,0};
sort(sz,sz+sizeof(sz)/sizeof(sz[0]),greater<int>() );
return 0;
}
Acyk 2007-01-02
  • 打赏
  • 举报
回复
参见C语言的QSort函数
vvoody 2007-01-02
  • 打赏
  • 举报
回复
冒泡吧,最简单的

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧