我如何排序整数只使用一个额外的整型变量列表? [英] How do I sort a list of integers using only one additional integer variable?
本文介绍了我如何排序整数只使用一个额外的整型变量列表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何排序只使用一个变量的值的列表?
编辑:按@伊戈尔的评论,我改名的问题
解决方案
C中的一个解决方案:
的#include< stdio.h中>
诠释的main()
{
INT名单[] = {4,7,2,4,1,10,3};
INT N; //一个int变量
startsort:
为(N = 0; N<的sizeof(名单)/的sizeof(INT)-1 ++ N)
如果(名单[N]>清单[N + 1]){
列表[N] ^ =列表[N + 1];
列表[N + 1] ^ =列表[N];
列表[N] ^ =列表[N + 1];
GOTO startsort;
}
为(N = 0; N<的sizeof(名单)/的sizeof(INT); ++ N)
的printf(%D \ N,名单[N]);
返回0;
}
输出是当然的相同的图标程序
How to sort list of values using only one variable?
EDIT: according to @Igor's comment, I retitled the question.
解决方案
A solution in C:
#include <stdio.h>
int main()
{
int list[]={4,7,2,4,1,10,3};
int n; // the one int variable
startsort:
for (n=0; n< sizeof(list)/sizeof(int)-1; ++n)
if (list[n] > list[n+1]) {
list[n] ^= list[n+1];
list[n+1] ^= list[n];
list[n] ^= list[n+1];
goto startsort;
}
for (n=0; n< sizeof(list)/sizeof(int); ++n)
printf("%d\n",list[n]);
return 0;
}
Output is of course the same as for the Icon program.
这篇关于我如何排序整数只使用一个额外的整型变量列表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文