问题列表 - 第13780页

将2D阵列表示为1D阵列

可能重复:
使用阵列数组(2D)或1D数组实现更高效的矩阵?
二维阵列与一维阵列的性能

前几天我正在查看我的伙伴的分子动力学代码库之一,他将一些2D数据表示为一维数组.因此,他不必使用两个索引,而只需要跟踪一个索引,但只需要进行一些数学计算就可以确定它是2D的位置.所以在这个2D数组的情况下:

two_D = [[0, 1, 2],
         [3, 4, 5]]
Run Code Online (Sandbox Code Playgroud)

它将表示为:

one_D = [0, 1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)

如果他需要知道2D阵列的位置(1,1),他会做一些简单的代数并得到4.

使用1D阵列而不是2D阵列是否有任何性能提升.在计算过程中,数组中的数据可以被调用数百万次.

我希望数据结构的解释清楚......如果不让我知道,我会尝试更好地解释它.

谢谢 :)

编辑 语言是C

c arrays performance

11
推荐指数
2
解决办法
3万
查看次数

iPhone:random()函数每次给我相同的随机数

我使用函数random()%x来生成随机数,但每次启动应用程序时,我都会看到它创建或生成相同的数字.

就像我根据随机数随机放置一些图像一样,无论我运行应用程序多少次,我都会看到所有图像都放在同一个地方.

iphone random

6
推荐指数
3
解决办法
8671
查看次数

正则表达式用相应的<img>替换<a>

我正在寻找一个PHP preg_replace()解决方案找到图像的链接,并用相应的图像标签替换它们.

找:

<a href="http://www.domain.tld/any/valid/path/to/imagefile.ext">This will be ignored.</a>
Run Code Online (Sandbox Code Playgroud)

用...来代替:

<img src="http://www.domain.tld/any/valid/path/to/imagefile.ext" alt="imagefile" />
Run Code Online (Sandbox Code Playgroud)

协议必须是http://,.ext必须是有效的图像格式(.jpg,.jpeg,.gif,.png,.tif),基本文件名称变为alt =""值.

我知道preg_replace()是这项工作的正确功能,但我很喜欢正则表达式,所以非常感谢任何帮助!谢谢!

php regex preg-replace

0
推荐指数
2
解决办法
634
查看次数

是否有适合Mac的中途免费HTML编辑器?

到目前为止,我发现的所有东西都是所见即所得的设计师或荣耀的TextEdit替代品.

我正在寻找以下内容:

  • 轻量级(排除Eclipse和Aptana)
  • 代码完成或至少自动括号关闭
  • 语法突出显示
  • FTP集成(单独或与另一个FTP应用程序)

html macos editor

5
推荐指数
2
解决办法
692
查看次数

sizeWithFont与MonoTouch

MonoTouch中sizeWithFont的等价物是什么.如果没有这样的方法,是否可以通过其他方式调用它?

我想做的就是根据文字大小调整标签大小......

xamarin.ios

9
推荐指数
1
解决办法
2527
查看次数

如何格式化C中的数字从1123456789到1,123,456,789?

从可我怎么用C语言格式的数字11234567891,123,456,789?我试过使用,printf("%'10d\n", 1123456789);但这不起作用.

你能告诉我什么吗?解决方案越简单越好.

c formatting numbers

73
推荐指数
5
解决办法
8万
查看次数

对于程序员来说,最有用的正则表达式是什么?

我是正则表达式的新手,刚开始学习一些.我想知道程序员最常用的正则表达式是什么.换句话说,我想知道什么是最有用的正则表达式?他们怎样才能帮助我完成我的日常任务?我更喜欢知道正则表达式对于每天编程有用,而不是偶尔使用正则表达式这样的电子邮件地址匹配.

任何人?谢谢.

编辑:大多数答案包括匹配电子邮件地址,URL,日期,电话号码等的正则表达式.请注意,并非所有程序员都必须在他们的日常任务中担心这些事情.我想知道正则表达式的一些更通用的用法,如果有的话,一般(可能)使用哪些程序员而不管他们正在使用哪种语言.

regex

17
推荐指数
3
解决办法
2万
查看次数

格式化C++控制台输出

我一直在尝试将输出格式化为控制台的时间最长,并且没有发生任何事情.我一直在尝试尽可能多地使用iomanipofstream&out函数.

void list::displayByName(ostream& out) const
{
    node *current_node  = headByName;

    // I have these outside the loop so I don't write it every time.

    out << "Name\t\t" << "\tLocation" << "\tRating " << "Acre" << endl;
    out << "----\t\t" << "\t--------" << "\t------ " << "----" << endl;

    while (current_node)
    {
        out << current_node->item.getName() // Equivalent tabs don't work?
            << current_node->item.getLocation()
            << current_node->item.getAcres()
            << current_node->item.getRating()
            << endl;

        current_node = current_node->nextByName;
    }

    // The equivalent tabs do …
Run Code Online (Sandbox Code Playgroud)

c++ formatting

7
推荐指数
3
解决办法
3万
查看次数

关于指针指针,C99的"限制"语义是什么?

我正在做很多矩阵运算,并希望利用C99的restrict指针限定符.

我想设置我的矩阵作为指针的指针,以便轻松下标,如下所示:

int **A = malloc (ncols * sizeof(int *));
A[0] = malloc (nrows * ncols * sizof(int));
for (int i=1; i < ncols; i++) {
    A[i] = A[0] + i*nrows;
}
Run Code Online (Sandbox Code Playgroud)

现在,对于矩阵乘法函数

void mmultiply ( int nrows, int ncols, int **Out, int **A, int **B);
Run Code Online (Sandbox Code Playgroud)

我必须将参数的两个指针限定为受限制吗?这是有效的语法,但我很难确定int *restrict *restrict行为是否有任何不同int **restrict.

那么,指针被正确限制,是通过A[0][col*nrows + row]undefined 访问元素?(即,将编译器假设我通过访问矩阵A[col][row]对的值row,使得row < nrow)?或者我必须保持一致吗?

c pointers c99 multidimensional-array restrict-qualifier

11
推荐指数
1
解决办法
2205
查看次数

如何管理Rails database.yml

如果多个人正在处理项目并且数据库位置不同(特别是套接字),那么处理Rails database.yml的最佳方法是什么.

mysql svn ruby-on-rails

82
推荐指数
2
解决办法
3万
查看次数