Найдено результатов: 20

Разгрузка ByteArray используя Actionscript 3

Как я могу принудительно выгрузить ByteArray из памяти с помощью ActionScript 3?

Я попробовал следующее:

// First non-working solution
byteArray.length = 0;
byteArray = new ByteArray();

// Second non-working solution
for ( var i:int=0; i < byteArray.length; i++ ) {
    byteArray[i] = null;
}

arrays   actionscript-3   flex    

487   8   16:03, 1st July, 2020


Как лучше всего создать тег cloud из массива, используя h1-h6 для определения размера?

У меня есть следующие массивы:

$artist = array("the roots", "michael jackson", "billy idol", "more", "and more", "and_YET_MORE");
$count = array(5, 3, 9, 1, 1, 3);

Я хочу сгенерировать тег cloud, который будет содержать исполнителей с более высоким числом в $count , вложенных в h6 тегов, и с самым низким вложенным h1 тегов.

php   arrays   cloud   tag-cloud    

487   8   16:03, 1st July, 2020


Использование 'in' для сопоставления атрибута объектов Python в массиве

Я не помню, спал я или нет, но я, кажется, помню, что была функция, которая позволяла что-то вроде,

foo in iter_attr(array of python objects, attribute name)

Я просмотрел документы, но такие вещи не подпадают ни под какие очевидные заголовки списка

python   arrays   iteration    

508   8   16:03, 1st July, 2020


PHP: доступ к значению массива на лету

В php мне часто приходится сопоставлять переменную с помощью массива ... но я не могу, кажется, быть в состоянии сделать это в одном лайнере. c.f. образец:

// the following results in an error:
echo array('a','b','c')[$key];

// this works, using an unnecessary variable:
$variable = array('a','b','c');
echo $variable[$key];

Это небольшая проблема, но она продолжает беспокоить время от времени ... Мне не нравится тот факт, что я использую переменную просто так ;)

php   arrays   coding-style    

459   9   01:50, 23rd August, 2020


PHP: доступ к значению массива на лету

В php мне часто приходится сопоставлять переменную с помощью массива ... но я не могу, кажется, быть в состоянии сделать это в одном лайнере. c.f. образец:

// the following results in an error:
echo array('a','b','c')[$key];

// this works, using an unnecessary variable:
$variable = array('a','b','c');
echo $variable[$key];

Это небольшая проблема, но она продолжает беспокоить время от времени ... Мне не нравится тот факт, что я использую переменную просто так ;)

php   arrays   coding-style    

469   9   06:47, 20th August, 2020


Замена для for... при итерации массива

Я люблю понимание списка в Python, потому что они лаконично представляют собой преобразование списка.

Однако на других языках я часто ловлю себя на том, что пишу что-то вроде::

foreach (int x in intArray)
  if (x > 3) //generic condition on x
    x++ 
    //do other processing

Этот пример находится в C#,, где я под впечатлением LINQ может помочь с этим, но есть ли какая-то общая программная конструкция, которая может заменить это слегка less-than-elegant решение? Возможно, структура данных, которую я не рассматриваю?

.net   python   arrays   loops   iteration    

583   6   18:11, 14th August, 2020


Как ранжировать массив (Сортировать) по значению? *With в twist*

Я хотел бы отсортировать массив в порядке возрастания, используя C/C++ . Результатом является массив, содержащий индексы элементов. Каждый индекс соответствует расположению элемента в отсортированном массиве.

Пример

Input:  1, 3, 4, 9, 6
Output: 1, 2, 3, 5, 4

Edit: я использую процедуру сортировки shell. Индексы повторяющихся значений выбираются произвольно, исходя из того, какие повторяющиеся значения являются первыми в исходном массиве.

Обновление:

Несмотря на все мои усилия, я не смог реализовать алгоритм сортировки для массива указателей. Текущий пример не будет компилироваться.

Может, кто-нибудь объяснит мне, что случилось?

Я был бы очень признателен за помощь!

void SortArray(int ** pArray, int ArrayLength) 
{
    int i, j, flag = 1;    // set flag to 1 to begin initial pass
    int * temp;    // holding variable orig with no *

    for (i = 1; (i <= ArrayLength) && flag; i++)
    {
        flag = 0;
        for (j = 0; j < (ArrayLength - 1); j++)
        {
            if (*pArray[j + 1] > *pArray[j])    // ascending order simply changes to <
            { 
                &temp = &pArray[j];    // swap elements
                &pArray[j] = &pArray[j + 1];    //the problem lies somewhere in here
                &pArray[j + 1] = &temp;
                flag = 1;    // indicates that a swap occurred.
            }
        }
    }
};

c++   c   arrays   sorting    

416   1   22:58, 9th August, 2020


Можно ли использовать новое размещение для массивов переносным способом?

Можно ли на самом деле использовать размещение нового в переносимом коде при использовании его для массивов?

Похоже, что указатель, который вы получаете от new[], не всегда совпадает с адресом, который вы передаете (5.3.4, Примечание 12 в стандарте, кажется, подтверждает, что это правильно), но я не вижу, как вы можете выделить буфер для массива, чтобы войти в него, если это так.

В следующем примере показана проблема. Скомпилированный с помощью Visual Studio, этот пример приводит к повреждению памяти:

#include <new>
#include <stdio.h>

class A
{
    public:

    A() : data(0) {}
    virtual ~A() {}
    int data;
};

int main()
{
    const int NUMELEMENTS=20;

    char *pBuffer = new char[NUMELEMENTS*sizeof(A)];
    A *pA = new(pBuffer) A[NUMELEMENTS];

    // With VC++, pA will be four bytes higher than pBuffer
    printf("Buffer address: %x, Array address: %x\n", pBuffer, pA);

    // Debug runtime will assert here due to heap corruption
    delete[] pBuffer;

    return 0;
}

Глядя на память, компилятор, похоже, использует первые четыре байта буфера для хранения подсчета количества элементов в нем. Это означает, что поскольку буфер имеет только sizeof(A)*NUMELEMENTS размер, последний элемент массива записывается в нераспределенную кучу.

Итак, вопрос в том, Можете ли вы узнать, сколько дополнительных накладных расходов требуется вашей реализации для безопасного использования placement new[]? В идеале мне нужна техника, переносимая между разными компиляторами. Обратите внимание, что, по крайней мере, в случае VC, накладные расходы, похоже, отличаются для разных классов. Например, если я удаляю виртуальный деструктор в Примере, то адрес, возвращаемый из new[], совпадает с адресом, который я передаю.

c++   arrays   compiler-construction   portability   overhead    

389   7   18:10, 18th August, 2020


Как я могу отсортировать массив двойных указателей на основе значений, на которые они указывают?

Я пытаюсь построить функцию в C/C++ для сортировки массива и замены каждого значения на его "score" или ранг. Он принимает массив двойных указателей к массиву ints и сортирует двойные указатели на основе разыменованного значения целых чисел. Я пробовал довольно много раз, чтобы заставить его работать, но не могу получить его вниз. Еще раз, он должен сортировать двойные указатели на основе значений, на которые они указывают. Вот что у меня есть:

void SortArray( int ** pArray, int ArrayLength )
{
  int i, j, flag = 1;     // set flag to 1 to begin initial pass
  int * temp;             // holding variable orig with no *
  for(i = 1; (i <= ArrayLength) && flag; i++)
  {
    flag = 0;
    for (j = 0; j < (ArrayLength -1); j++)
    {
        if (*pArray[j+1] > *pArray[j])    // ascending order simply changes to <
        { 
            temp = &pArray[j];            // swap elements
            pArray[j] = &pArray[j+1];
            pArray[j+1] = &temp;
            flag = 1;                     // indicates that a swap occurred.
        }
    }
  }
}

c++   c   arrays   pointers   reference    

409   5   11:39, 29th August, 2020


Как split байтовый массив

У меня есть массив байтов в памяти, считанный из файла. Я хотел бы split байтовый массив в определенной точке (индекс) без необходимости просто создавать новый байтовый массив и копировать каждый байт за один раз, увеличивая в памяти отпечаток ноги операции. Чего бы мне хотелось, так это что-то вроде этого:

byte[] largeBytes = [1,2,3,4,5,6,7,8,9];  
byte[] smallPortion;  
smallPortion = split(largeBytes, 3);  

smallPortion будет равно 1,2,3,4
largeBytes будет равно 5,6,7,8,9

c#   arrays   split    

441   7   18:57, 4th August, 2020


Как сравнить два массива объектов DataRow в PowerShell?

У меня есть два массива объектов System.Data.DataRow , которые я хочу сравнить.

Строки имеют два столбца A и B. столбец A является ключом, и я хочу узнать, какие строки были изменены в столбце B, а какие строки были добавлены или удалены.

Как это сделать в PowerShell?

arrays   powershell   comparison    

534   3   16:06, 10th August, 2020


Как суммировать размеры массива, заданного во время выполнения?

Я работаю над функцией для установления энтропии распределения. Он использует связку, если кто-то знаком с этим. Мне нужно суммировать значения в массиве, основываясь на том, какие измерения являются "cared about."

Пример: рассмотрим следующий пример...

Dimension 0 (across)
_ _ _ _ _ _ _ _ _ _ _ _ _
|_ 0 _|_ 0 _|_ 0 _|_ 2 _|  Dimension 1
|_ 1 _|_ 0 _|_ 2 _|_ 0 _|   (down)
|_ 0 _|_ 3 _|_ 0 _|_ 6 _|
|_ 0 _|_ 0 _|_ 0 _|_ 0 _|

I "care about" dimension 0 only, and "don't care" about the rest (dim 1).
Summing this array with the above specifications will
"collapse" the "stacks" of dimension 1 down to a single 4 x 1 array:

_ _ _ _ _ _ _ _ _ _ _ _ _ 
|_ 1 _|_ 3 _|_ 2 _|_ 8 _|

This can then be summed, or have any operation performed.

Мне нужно сделать это с массивом 'n' измерений, которые могли бы реально be 20. Кроме того, мне нужно быть в состоянии сделать это, заботясь о некоторых размерах и разрушая rest. Мне особенно трудно с этим, потому что я не могу визуализировать 20 измерений :p . Если бы кто-нибудь мог помочь мне настроить некоторый код c/c++ на collapse/sum,, я был бы очень благодарен.

Обновление:

Только что вернулся домой. Вот некоторая информация, чтобы ответить на ваши вопросы:

  1. Извините за откат правок, я надеялся, что когда я нажму откат, он покажет мне изменения, чтобы я мог увидеть, что я испортил, немного похоже на Википедию. Как я выяснил, это был не тот случай.
  2. @jeff-что не имеет смысла? Я использую этот отличный сервис для (что я думаю) законной причины. Я хочу стать лучше в своем хобби, которое все это, как я в средней школе. Многие из моих сообщений касаются реализации генетического алгоритма (этот пост, sparsearray, ранжирование массива, манипуляция указателем).
  3. Я использую разреженное представление массива, поскольку можно превысить количество молекул во Вселенной, используя традиционный (плотный) массив. На данный момент реализация самого sparsearray не имеет большого значения, поскольку я работаю над тем, чтобы заставить его работать со стандартным массивом, прежде чем перейти к разреженному представлению. Для тех, кто не видел мои предыдущие вопросы, я использую двоичное дерево поиска в качестве структуры, содержащей разреженные точки массива, и функцию "driver" для обхода дерева по мере необходимости, возвращая все, что функция предназначена для выполнения. Это является гибким, так что я могу разместить много различных методов доступа к массиву.
  4. Структура является гиперкубом, и количество измерений задается во время выполнения, а также длина каждого измерения (которые все одинаковы, так как это гиперкуб).

Спасибо всем за ваше вменение.

c++   c   arrays   microsoft-dynamics    

453   10   22:33, 26th August, 2020


Классы против массивов 2D

Что лучше использовать в PHP, массиве 2D или классе? Я включил пример того, что я имею в виду под этим.

// Using a class
class someClass
{
    public  $name;
    public  $height;
    public  $weight;

    function __construct($name, $height, $weight)
    {
        $this -> name       = $name;
        $this -> height = $height;
        $this -> weight = $weight;
    }
}

$classArray[1] = new someClass('Bob', 10, 20);
$classArray[2] = new someClass('Fred', 15, 10);
$classArray[3] = new someClass('Ned', 25, 30);


// Using a 2D array
$normalArray[1]['name'] = 'Bob';
$normalArray[1]['height']   = 10;
$normalArray[1]['weight']   = 20;

$normalArray[2]['name'] = 'Fred';
$normalArray[2]['height']   = 15;
$normalArray[2]['weight']   = 10;

$normalArray[3]['name'] = 'Ned';
$normalArray[3]['height']   = 25;
$normalArray[3]['weight']   = 30;

Предполагая, что кто-то не выйдет и не покажет, что классы слишком медленные, похоже, что класс выигрывает.

Я не знаю, какой ответ я должен принять, чтобы я только что проголосовал за них всех.


И теперь я написал две почти идентичные страницы, одну с использованием массива 2D (написанного до публикации этого вопроса), а теперь один использует класс, и я должен сказать, что класс производит гораздо более приятный код. Я понятия не имею, сколько накладных расходов будет сгенерировано, но я сомневаюсь, что это будет конкурировать с улучшением самого кода.

Спасибо, что помогли мне стать лучшим программистом.

php   arrays   class    

426   9   05:18, 4th August, 2020


Как я могу объединить массивы PHP?

У меня есть два массива животных (например).

$array = array(
    array(
        'id' => 1,
        'name' => 'Cat',
    ),
    array(
        'id' => 2,
        'name' => 'Mouse',
    )
);

$array2 = array(
    array(
        'id' => 2,
        'age' => 321,
    ),
    array(
        'id' => 1,
        'age' => 123,
    )
);

Как я могу объединить два массива в один с помощью ID?

php   arrays    

438   10   13:04, 11th August, 2020


Как бы вы реализовали хэш-таблицу в языке x?

Смысл этого вопроса состоит в том, чтобы собрать список примеров реализации хэш-таблиц с использованием массивов на разных языках. Было бы также неплохо, если бы кто-то мог дать довольно подробный обзор того, как они работают, и что происходит с каждым примером.

Редактировать :

Почему бы просто не использовать встроенные функции hash в вашем конкретном языке?

Потому что мы должны знать, как работают таблицы hash и уметь их реализовывать. Это может показаться не очень важной темой, но знание того, как работает одна из наиболее часто используемых структур данных, кажется мне очень важным. Если это должно стать Википедией программирования, то вот некоторые из типов вопросов, за которыми я сюда приду. Я не ищу книгу CS, которая будет написана здесь. Я мог бы взять с полки вступление к алгоритмам и прочитать главу о таблицах hash и получить такую информацию. Более конкретно, то, что я ищу, - это примеры кода . Не только для меня в частности, но и для других, кто, возможно, однажды будет искать подобную информацию и наткнется на эту страницу.

Если бы вы должны были их реализовать и не могли использовать встроенные функции, как бы вы это сделали?

Вам не нужно ставить код здесь. Положите его в пастебин и просто соедините его.

arrays   hash   language-agnostic    

513   9   05:23, 16th August, 2020


Итерация по сложному ассоциативному массиву в PHP

Есть ли простой способ перебрать ассоциативный массив этой структуры в PHP:

Массив $searches имеет нумерованный индекс, содержащий от 4 до 5 ассоциативных частей. Поэтому мне нужно не только перебирать $searches[0] через $searches[n], но и $searches[0]["part0"] через $searches[n]["partn"] . Трудная часть заключается в том, что разные индексы имеют разное количество частей (некоторые могут отсутствовать один или два).

Мысли о том, чтобы сделать это так, чтобы это было приятно, аккуратно и понятно?

php   arrays   associative-array    

370   7   01:28, 5th August, 2020


Печать многомерных массивов .NET

Допустим, у меня есть .NET-массив из n измерений. Я хотел бы foreach через элементы и распечатать что-то вроде:

[0, 0, 0] = 2
[0, 0, 1] = 32

И так далее. Я мог бы написать цикл, используя некоторые функции ранга и измерения, чтобы придумать индексы. Есть ли встроенная функция вместо этого?

c#   .net   arrays    

424   2   20:12, 24th August, 2020


Сравнение массивов объектов в JavaScript

Я хочу сравнить 2 массива объектов в коде JavaScript. Объекты имеют 8 общих свойств, но каждый объект не будет иметь значения для каждого, и массивы никогда не будут больше 8 элементов каждый, так что, возможно, метод грубой силы обхода каждого и затем просмотра значений 8 свойств является самым простым способом сделать то, что я хочу сделать, но перед реализацией я хотел бы посмотреть, есть ли у кого-нибудь более элегантное решение. Есть какие-нибудь мысли?

javascript   arrays   comparison    

1985   10   23:24, 14th August, 2020


Как сдвинуть массив байтов на 12 бит

Я хочу сдвинуть содержимое массива байт на 12 бит влево.

Например, начиная с этого массива типа uint8_t shift[10] :

{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xBC}

Я бы хотел сдвинуть его влево на 12 бит, что приведет к:

{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAB, 0xC0, 0x00}

c   arrays   bit-shift   bitset    

544   7   03:08, 9th August, 2020


Ruby-преобразование целого числа в строку

В Ruby попытка распечатать отдельные элементы строки доставляет мне проблемы. Вместо того, чтобы видеть каждый символ, я вижу их значения ASCII вместо этого:

>> a = "0123"
=> "0123"
>> a[0]
=> 48

Я посмотрел в интернете, но не могу найти никакого способа, чтобы получить оригинал "0" обратно из него. Я немного новичок в Ruby, чтобы знать, что это должно быть что-то простое, но я просто не могу его найти.

ruby   arrays    

387   7   15:46, 13th August, 2020