我好像发明了一种新的排序算法,不知道前人有没有这样写过

跳起来的蜗牛 2017-11-26 11:59:34

int* Sort(int *arr, int n)
{
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
if (arr[i] > arr[j])
{
arr[i] ^= arr[j];
arr[j] ^= arr[i];
arr[i] ^= arr[j];
}
return arr;
}
...全文
230 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-11-28
  • 打赏
  • 举报
回复
仅供参考:
#include <stdio.h>
#define SWAP(a,b) do ((&(a))!=(&(b)))?((a)^=(b)^=(a)^=(b)):((a)=(a)); while (0)
char   *p1="1" ,*p2="2" ;
char    c1=1   , c2=2   ;
short   s1=1   , s2=2   ;
int     i1=1   , i2=2   ;
__int64 I1=1i64, I2=2i64;
float   f1=1.0f, f2=2.0f;
double  d1=1.0 , d2=2.0 ;
void main() {
    SWAP((int)p1,(int)p2);                printf("char *     %5s,   %5s\n",p1,p2);
    SWAP(c1,c2);                          printf("char       %5d,   %5d\n",c1,c2);
    SWAP(s1,s2);                          printf("short      %5d,   %5d\n",s1,s2);
    SWAP(i1,i2);                          printf("int        %5d,   %5d\n",i1,i2);
    SWAP(I1,I2);                          printf("__int64 %5I64d,%5I64d\n",I1,I2);
    SWAP(*(int     *)&f1,*(int     *)&f2);printf("float      %5g,   %5g\n",f1,f2);
    SWAP(*(__int64 *)&d1,*(__int64 *)&d2);printf("double    %5lg,  %5lg\n",d1,d2);

    SWAP(c1,c1);
    printf("%d\n",c1);
}
//char *         2,       1
//char           2,       1
//short          2,       1
//int            2,       1
//__int64     2,    1
//float          2,       1
//double        2,      1
//2
  • 打赏
  • 举报
回复
好#。。。。。。
ooolinux 2017-11-28
  • 打赏
  • 举报
回复
交换两整数,其实可读性不好,可读性>技巧。
CT8100 2017-11-27
  • 打赏
  • 举报
回复
还是冒泡排序,但是赋值方法很不错。
destory27 2017-11-27
  • 打赏
  • 举报
回复
你是把两个数交换用异或写了,数组传进来还需要返回吗?
ys1212 2017-11-27
  • 打赏
  • 举报
回复
。。你这是复杂版的选择排序,多了很多交换操作
自信男孩 2017-11-27
  • 打赏
  • 举报
回复
排序方法没有创新吧,这就是冒泡排序。只是交换数据的方式变了; 建议试一下能够通用,比如交换两个结构体变量;我估计对于两个结构体变量的交换不好使呢。
FoolCarpe 2017-11-27
  • 打赏
  • 举报
回复
这不就是冒泡排序吗?
das白 2017-11-27
  • 打赏
  • 举报
回复
前人这样写过
paschen 2017-11-27
  • 打赏
  • 举报
回复
只是交换数据上的区别,但这种也有局限,比如对于浮点数排序就不适用

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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