fast way to insert element at index 0

Dennis Ritchie via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Jun 22 22:33:47 PDT 2015


On Tuesday, 23 June 2015 at 05:16:23 UTC, Assembly wrote:
> What's a fast way to insert an element at index 0 of array? now 
> that the code is working I want to clean this:
>
> void push(T val)
> 	{
> 		T[] t = new T[buffer.length + 1];
> 		t[0] = val;
> 		t[1 .. $] = buffer;
> 		buffer = t;
> 	}
>
> I did this because I didn't find any suble built-in data 
> structure that let me insert an item into a specific index at 
> first search. Slist does have insertFron(), exactly what I'm 
> looking for it's a linked list.

I think you want to do something like this:

void main() {

     import std.algorithm;

     auto a = [1, 2, 3];

     int val = 5;

     a = val ~ a; // vector.pushFront();

     assert(equal(a[], [5, 1, 2, 3]));
}


More information about the Digitalmars-d-learn mailing list