//Merge Sort struct Point { x:i8; y:i8; } // Struct /* ababa */ [Point:105] tmp; fn MergeSort([Point:20] v,i8 l,i8 r) -> { if l>r { return ; } var mid = l + r >>1; MergeSort(v,l,mid); MergeSort(v,mid+1,r); i8 i=l,j=mid+1,k=l; for ;i <= mid && j <= r;k+=1 { if v[l] < v[r] { tmp[k] = v[l]; l +=1; } else{ tmp[k] = v[r]; r += 1; } } for ; i<=mid; { tmp[k] = tmp[i]; k += 1,i+=1; } for ; j <=r ; { tmp[k] = tmp[j]; k +=1 , j += 1; } } fn main()->i8{ [Point:20] d; [Point] d; for i8 i = 0;i< 20; i++ { d[i] = {x:i * i,y:i}; } MergeSort(d,d+20); 0 }