Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,35 @@
|
|||
ClearAll[CircleSort, NestedCircleSort]
|
||||
CircleSort[d_List, l_, h_] :=
|
||||
Module[{high, low, mid, lo = l, hi = h, data = d},
|
||||
If[lo == hi, Return[data]];
|
||||
high = hi;
|
||||
low = lo;
|
||||
mid = Floor[(hi - lo)/2];
|
||||
While[lo < hi,
|
||||
If[data[[lo]] > data[[hi]],
|
||||
data[[{lo, hi}]] //= Reverse;
|
||||
];
|
||||
lo++;
|
||||
hi--
|
||||
];
|
||||
If[lo == hi,
|
||||
If[data[[lo]] > data[[hi + 1]],
|
||||
data[[{lo, hi + 1}]] //= Reverse;
|
||||
]
|
||||
];
|
||||
data = CircleSort[data, low, low + mid];
|
||||
data = CircleSort[data, low + mid + 1, high];
|
||||
data
|
||||
]
|
||||
NestedCircleSort[{}] := {}
|
||||
NestedCircleSort[d_List] := FixedPoint[CircleSort[#, 1, Length[#]] &, d]
|
||||
NestedCircleSort[Echo@{6, 7, 8, 9, 2, 5, 3, 4, 1}]
|
||||
NestedCircleSort[Echo@{6, 7, 8, 2, 5, 3, 4, 1}]
|
||||
NestedCircleSort[Echo@{6, 2, 5, 7, 3, 4, 1}]
|
||||
NestedCircleSort[Echo@{4, 6, 3, 5, 2, 1}]
|
||||
NestedCircleSort[Echo@{1, 2, 3, 4, 5}]
|
||||
NestedCircleSort[Echo@{2, 4, 3, 1}]
|
||||
NestedCircleSort[Echo@{2, 3, 1}]
|
||||
NestedCircleSort[Echo@{2, 1}]
|
||||
NestedCircleSort[Echo@{1}]
|
||||
NestedCircleSort[Echo@{}]
|
||||
Loading…
Add table
Add a link
Reference in a new issue