6个回答
展开全部
#include<stdio.h>
int main()
{
int array[10] = {11,2,23,15,19,30,8,6,9,10};
int length = 10; //数组长度
int temp;
int i = 0;
int j = 0;
for (i = length - 1; i >= 0; i--)
{
for ( j = 0; j < i; j++)
{
if (array[j] >= array[j + 1])
{
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
for (i = 0; i < length; i++)
{
printf(" %d", array[i]);
}
printf("\n");
return 0;
}
上面就是一个简单的冒泡程序,绝对是自己写,简单的说其实就是两个for循环而已;
当然还可以优化;
有问题,请追问;
int main()
{
int array[10] = {11,2,23,15,19,30,8,6,9,10};
int length = 10; //数组长度
int temp;
int i = 0;
int j = 0;
for (i = length - 1; i >= 0; i--)
{
for ( j = 0; j < i; j++)
{
if (array[j] >= array[j + 1])
{
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
for (i = 0; i < length; i++)
{
printf(" %d", array[i]);
}
printf("\n");
return 0;
}
上面就是一个简单的冒泡程序,绝对是自己写,简单的说其实就是两个for循环而已;
当然还可以优化;
有问题,请追问;
追问
怎么优化,简单I点最好
展开全部
#include<stdio.h>
void main()
{
int a[10]={11,2,23,15,19,30,8,6,9,10};
int i,j,tmp;
for(i=0;i<10;i++)
for(j=0;j<10-i-1;j++)
{
if(a[j]>a[j+1])
{
tmp = a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
//getch();
}
void main()
{
int a[10]={11,2,23,15,19,30,8,6,9,10};
int i,j,tmp;
for(i=0;i<10;i++)
for(j=0;j<10-i-1;j++)
{
if(a[j]>a[j+1])
{
tmp = a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
//getch();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void swapulong(int& a, int& b)
{
int temp;
temp = a;
a = b;
b = temp;
}
int oneSort(int*buff,int p,int r)
{
int i = p - 1;
int j = p;
for( ; j < r ; j++)
{
if( buff[j] < buff[r])
{
i++;
swapulong( buff[j], buff[i] );
}
}
i++;
swapulong(buff[i], buff[r]);
return i;
}
void QuickSort(int*buff,int p, int r)
{
if( p < r )
{
ULONG mid = oneSort(buff, p, r);
QuickSort(buff, p, mid - 1);
QuickSort(buff, mid + 1, r);
}
}
void main()
{
int array[10] = {11,2,23,15,19,30,8,6,9,10};
QuickSort(array, 0, 9);
}
经典快速排序
{
int temp;
temp = a;
a = b;
b = temp;
}
int oneSort(int*buff,int p,int r)
{
int i = p - 1;
int j = p;
for( ; j < r ; j++)
{
if( buff[j] < buff[r])
{
i++;
swapulong( buff[j], buff[i] );
}
}
i++;
swapulong(buff[i], buff[r]);
return i;
}
void QuickSort(int*buff,int p, int r)
{
if( p < r )
{
ULONG mid = oneSort(buff, p, r);
QuickSort(buff, p, mid - 1);
QuickSort(buff, mid + 1, r);
}
}
void main()
{
int array[10] = {11,2,23,15,19,30,8,6,9,10};
QuickSort(array, 0, 9);
}
经典快速排序
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
排序方法很多
我写个简单的:冒泡排序
#include<stdio.h>
void main()
{
int a[10]={11,2,23,15,19,30,8,6,9,10};
int i,j;
int tmp;
for(i=0;i<9;i++)
{
for(j=i+1;j<10;j++)
{
if(a[i]>a[j])
{
tmp=a[i];
a[j]=a[i];
a[i]=tmp;
}
}
}
}
//这是我临时编的,难免有错误,你编译试试。错了没关系,算法就是这样,错了可改。
我写个简单的:冒泡排序
#include<stdio.h>
void main()
{
int a[10]={11,2,23,15,19,30,8,6,9,10};
int i,j;
int tmp;
for(i=0;i<9;i++)
{
for(j=i+1;j<10;j++)
{
if(a[i]>a[j])
{
tmp=a[i];
a[j]=a[i];
a[i]=tmp;
}
}
}
}
//这是我临时编的,难免有错误,你编译试试。错了没关系,算法就是这样,错了可改。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用冒泡法吧,很简单。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
能用java吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询