我正在做一个小项目,并想知道什么可能是最好(最有效)的方式来订购一堆Stringsby:
前者是最初排序的方式.
我在考虑使用优先级队列,但我不确定是否有更有效的方法来排序Strings.
另外,我很难弄清楚如何按长度排序后按字母顺序排序.如果有人有更好的方法对这些进行排序或者知道如何在第一次排序之后进行排序,那么答案就会很好.
在处理语言中有一些问题,它说case表达式必须是常量,但我可以发誓它们是.我不知道我在这里做错了什么.有人有提示吗?
int gameState;
static int MENU = 0;
static int GAME = 1;
static int OPTIONS = 2;
void setup() {
screenSizex = 960;
screenSizey = 640;
size(screenSizex, screenSizey);
gameState = MENU;
}
void draw(){
switch(gameState) {
case MENU:
//does menu stuff
break;
case OPTIONS:
//does options stuff
break;
case GAME:
//does game stuff
break;
default:
break;
}
}
void mousePressed() {
if (//over some object) {
gameState = GAME;
}
else if (//over some object) {
gameState = OPTIONS; …Run Code Online (Sandbox Code Playgroud) 当我发现两个数组元素彼此相邻并找到差异时,我正在C中试图找到解释内存地址差异的方法.这是我的代码:
#include <stdio.h>
int main(){
char *a[5];
printf("%p\n", (&a[0]));
printf("%p\n", (&a[1]));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
示例输出:
0xbf9343dc
0xbf9343e0
Run Code Online (Sandbox Code Playgroud)
这样做时,输出不应该是表单的内容:
0x0....0
0x0....1
Run Code Online (Sandbox Code Playgroud)
因为char指针的大小应该是1(在我使用的32位系统上).
如果有人知道为什么会这样,并且可以提供解释,那将非常有帮助