黑马程序员技术交流社区
标题:
数组元素排序
[打印本页]
作者:
lixp
时间:
2015-11-6 20:03
标题:
数组元素排序
rest(int a[], int n)
{
int i,low,high,t;
for(i=0,low=0,high=n-1;i<=high;)
{
if(a[i]>0)
{
/*a[i]与a[high]交换,随之high减1*/
t=a[i];
a[i]=a[high];
a[high]=t;
high--;
}
else if(a[i]==0)
i++; /* 掠过该元素 */
else
{
/*a[i]与a[low]交换,随之low增1, i增1*/
t=a[i];
a[i]=a[low];
a[low]=t;
low++;
i++;
}
}
}
int s[]={8,4,0,-1,6,0,-5};
main()
{
int i;
clrscr();
printf("\n The arry before rest is:\n");
for(i=0;i<sizeof(s)/sizeof(s[0]);i++)
printf("%4d",s[i]);
rest(s,sizeof(s)/sizeof(s[0]));
printf("\n The arry after rest is:\n");
for(i=0;i<sizeof(s)/sizeof(s[0]);i++)
printf("%4d",s[i]);
printf("\n Press any key to quit...\n");
getch();
}
复制代码
作者:
jeffdy66
时间:
2015-11-6 23:03
冒泡排序思想 :
int a[6]={6,8,1,3,5,2};
int temp;
for (int i =0;i<6; i++){
for (int j=0;j<6;j++){
if(a[i]>a[j]){
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
for (int i =0;i<6;i++){
printf("%d\t",a[i]);
} 遍历数组
作者:
正在输入中...
时间:
2015-11-7 00:25
其实排序有很多种,其中简单的可能大家知道有冒泡、插入,其实还有很多种,如果你感兴趣我们可以聊一聊,排序还有直接选择排序,插入排序、堆排序、希尔排序、基数排序、计数排序、桶排序、快速排序,应用场合不同,时间复杂度和空间复杂度也不同。
作者:
熊德玺
时间:
2015-11-7 01:35
赞一个
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2