我如何排序整数只使用一个额外的整型变量列表? [英] How do I sort a list of integers using only one additional integer variable?

查看:107
本文介绍了我如何排序整数只使用一个额外的整型变量列表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何排序只使用一个变量的值的列表?

编辑:按@伊戈尔的评论,我改名的问题

解决方案

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆