using System; unsafe class Program { //struct Header //{ // internal int* data; //}; //Header* object_header = stackalloc Header[sizeof(Header)]; //object_header->data = stackalloc int[length]; static void SwapMe(int* first, int* second) { int tmp = *first; *first = *second; *second = tmp; } static void SortQuick(int* data, int low, int high) { int i = low, j = high, x = data[(low + high) / 2]; do { while (data[i] < x) i++; while (data[j] > x) j--; if (i <= j) { SwapMe(&data[i], &data[j]); i++; j--; } } while (i <= j); if (low < j) SortQuick(data, low, j); if (j < high) SortQuick(data, j, high); } static void ArrayPrint(int* data, int length) { for (int i = 0; i < length; i++) { Console.WriteLine(data[i]); } } static void Main() { int length = new Random().Next(1000, 99999); int* data = stackalloc int[length]; int capicity = length * sizeof(int); for (int i = 0; i < capicity; i++) { data[i] = new Random().Next(0, 9999); } ArrayPrint(data, capicity); SortQuick(data, 0, length - 1); ArrayPrint(data, capicity); Console.ReadLine(); } }