Данный отчёт сгенерирован 04.04.2023 06:21:13 UTC.
HTML версия (этот сайт) сгенерирован 04.04.2023 06:21:31 UTC.
Коммит: [bfeb65b9] add automatic zip creation 04.04.2023 06:21:13
HTML версия (этот сайт) сгенерирован 04.04.2023 06:21:31 UTC.
Коммит: [bfeb65b9] add automatic zip creation 04.04.2023 06:21:13
Задача: Сортування Структур
04.04.2023 06:21:13
Описание: Вже оголошено структуру
struct Struct {
public int Key;
public string Value;
}
Оголосити статичний метод void Sort (Struct [] ss), який упорядкує структури в масиві за зростанням ключів.
04.04.2023 06:21:13
Решений: 41
04.04.2023 06:21:13
Сортування Структур
04.04.2023 06:21:13
static void Sort(Struct[] ss)
{
Array.Sort(ss, (s1, s2) => s1.Key.CompareTo(s2.Key));
}
static void Sort(Struct[] ss)
{
Sort(ss, 0, ss.Length - 1);
}
static void swap(ref Struct a, ref Struct b)
{
var temp = a;
a = b;
b= temp;
}
static void Sort(Struct[] ss, int l, int r)
{
if (l > r) return;
int mid = ss[l + ((r - l) / 2)].Key;
int i = l;
int j = r;
while (i<=j)
{
while (ss[i].Key < mid) i++;
while (ss[j].Key > mid) j--;
if (i<=j)
{
swap(ref ss[i], ref ss[j]);
i++;
j--;
}
}
if(i< r) Sort(ss, i, r);
if(j>l) Sort(ss, l, j);
}
static void Sort(Struct[] ss){
for(int i = 0;i < ss.Length; i++){
Struct p = ss[i];
for(int j = i-1;j >= 0; j--){
Struct p1 = ss[j];
if(p.Key < p1. Key){
ss[i] = p1;
ss[j] = p;
}
}
}
}
static void Sort(Struct[] ss)
{
Array.Sort(ss, (x, y) => x.Key.CompareTo(y.Key));
}
static void Sort(Struct[] ss)
{
int n = ss.Length;
for (int i = 0; i < n - 1; i++)
{
for (int j = 0; j < n - i - 1; j++)
{
if (ss[j].Key > ss[j + 1].Key)
{
Struct temp = ss[j];
ss[j] = ss[j + 1];
ss[j + 1] = temp;
}
}
}
}
static void Sort(Struct[] ss){
ss.OrderBy(x=>x.Key);
}
static void Sort(Struct[] ss){
Array.Sort(ss, (x, y) => x.Key.CompareTo(y.Key));
}
static void Sort(Struct[] ss)
{
for(int i = 0; i < ss.Length; i += 1)
{
foreach(Struct s in ss)
{
if(s.Key < i)
{
ss[i] = s;
}
}
}
}
static void Sort(Struct[] ss)
{
Struct temp;
for (int i = 0; i < ss.Length; i++)
{
for (int j = 0; j < ss.Length - 1; j++)
{
if (ss[j].Key > ss[j + 1].Key)
{
temp = ss[j];
ss[j] = ss[j + 1];
ss[j + 1] = temp;
}
}
}
}
static void Sort(Struct[] ss)
{
for(int i = 0, j = 1; j < ss.Length; i++, j++)
{
if(ss[i].Key > ss[j].Key)
{
var temp = ss[i];
ss[i] = ss[j];
ss[j] = temp;
}
}
}
static void Sort(Struct[] ss)
{
Struct tmp;
for (int i = 0; i < ss.Length; i++)
{
for (int j = i + 1; j < ss.Length; j++)
{
if (ss[i].Key > ss[j].Key)
{
tmp = ss[i];
ss[i] = ss[j];
ss[j] = tmp;
}
}
}
}
static void Sort(Struct[] ss) {
ss = ss.OrderBy(key => key.Key).ToArray();
}
static void Sort(Struct[] ss)
{
for (int i = 0; i < ss.Length - 1; i++)
{
for (int j = 0; j < ss.Length - i - 1; j++)
{
if (ss[j].Key > ss[j + 1].Key)
{
Struct temp = ss[j];
ss[j] = ss[j + 1];
ss[j + 1] = temp;
}
}
}
}
static void Sort(Struct[] ss)
{
Array.Sort(ss, (x, y) => x.Key.CompareTo(y.Key));
}
static void Sort(Struct[] ss){
for (int i = 0; i < ss.Length-1; i++){
int smallestval = i;
for(int j = i + 1; j < ss.Length; j++){
if(ss[j].Key < ss[smallestval].Key){
smallestval = j;
}
}
var temp = ss[smallestval];
ss[smallestval] = ss[i];
ss[i] = temp;
}
}
static void Sort(Struct[] ss)
{
for (int i = 0; i < ss.Length; i++)
{
for (int j = i+1; j < ss.Length; j++)
if(ss[i].Key > ss[j].Key)
{
Struct t = ss[i];
ss[i] = ss[j];
ss[i+1] = t;
}
}
}
static void Sort(Struct[] ss)
{
for(int i = 0; i < ss.Length; i++)
{
for(int j = 0; j < ss.Length - 1 - i; j++)
{
if(ss[j].Key > ss[j + 1].Key)
{
Swap(ref ss[j], ref ss[j + 1]);
}
}
}
}
static void Swap(ref Struct a, ref Struct b)
{
Struct temp = a;
a = b;
b = temp;
}
static void Sort(Struct[] ss){
bool swapped = false;
for(int i = 0; i < ss.Length-1; i++){
for(int j = 0; j < ss.Length-i-1; j++){
if(ss[j].Key > ss[j+1].Key){
swapped = true;
(ss[j], ss[j+1]) = (ss[j+1], ss[j]);
}
}
if(!swapped) break;
}
}
static void Sort(Struct[] ss)
{
for(int i=1; i>ss.Length; i++)
{
int elm = ss[i].Key;// само число ключ
int prevElm = ss[i - 1].Key;
// if(elm)
while (elm< prevElm)
{
Struct p = ss[i];
ss[i ] = ss[i - 1];
ss[i - 1] = p;
//
}
}
}
static void Sort(Struct[] ss)
{
Struct buffer;
for(int i = 0; i < ss.Length; i++)
{
for(int j = 0; j < ss.Length; j++)
{
if (ss[i].Key < ss[j].Key)
{
buffer = ss[j];
ss[j] = ss[i];
ss[i] = buffer;
}
}
}
}
static void Sort(Struct[] ss) {
Array.Sort(ss, (x, y) => x.Key.CompareTo(y.Key));
}
static void Sort(Struct[] ss) {
for(int i = 0; i < ss.Length; i++) {
for(int j = 0; j < i; j++) {
if(ss[j].Key > ss[j+1].Key) {
Struct t = ss[j+1];
ss[j+1] = ss[j];
ss[j] = t;
}
}
}
}
static void Sort(Struct[] ss)
{
Array.Sort(ss, (s1, s2) => s1.Key.CompareTo(s2.Key));
}
static void Sort(Struct[] ss)
{
ss.OrderBy(x=>x.Key);
}
static void Sort(Struct[] ss)
{
Array.Sort(ss, (x, y) => x.Key.CompareTo(y.Key));
}
static void Sort(Struct[] s) {
for (int i = 1; i < s.Length; i++) {
for (int j = s.Length - 1; j >= i; j--) {
if (s[j].Key > s[j - 1].Key) continue;
Struct temp = s[j - 1];
s[j - 1] = s[j];
s[j] = temp;
}
}
}
static void Sort(Struct[] ss)
{
ss.OrderBy(x => x.Key);
}
static void Sort(Struct[] ss) {
Array.Sort(ss, (s1, s2) => s1.Key.CompareTo(s2.Key));
}
static void Sort(Struct[] ss)
{
for(int i = 0; i < ss.Length; i++)
{
for(int j = 0; j < ss.Length - 1 - i; j++)
{
if(ss[j].Key > ss[j + 1].Key)
{
Swap(ref ss[i], ref ss[j+1]);
}
}
}
}
static void Swap(ref Struct a, ref Struct b)
{
Struct temp = a;
a = b;
b = temp;
}
static void Sort(Struct[] ss)
{
int stop = ss.Length;
for (int i = 1; i < stop; i++)
{
if (ss[i - 1].Key > ss[i].Key)
{
Struct temp = ss[i - 1];
ss[i - 1] = ss[i];
ss[i] = temp;
}
stop--;
}
}
static void Sort(Struct[] ss){
for(int i=0; i< ss.Length-1; i++){
if(ss[i].Key>ss[i+1].Key){
Struct a=ss[i];
ss[i]=ss[i+1];
ss[i+1]=a;
}
}
}
static void Sort(Struct[] ss){
int t = ss.Length;
for(int i = 0;i < t - 1;i++){
for(int j = 0;j < t - i - 1;j++){
if(ss[j].Key > ss[j + 1].Key){
Struct temp = ss[j];
ss[j] = ss[j +1];
ss[j + 1] = temp;
}
}
}
}
static void Sort(Struct[] ss){
for(int j = 0; j < ss.Length; j++){
for(int i = 0; i < ss.Length-1; i++){
if(ss[i].Key>ss[i+1].Key){
Struct newStruct = new Struct {Key = ss[i].Key, Value = ss[i].Value};
ss[i] = new Struct {Key = ss[i+1].Key, Value = ss[i+1].Value};
ss[i+1] = newStruct;
}
}
}
}
static void Sort(Struct[] ss){
for (int i = 0; i < ss.Length-1; i++)
{
if (ss[i].Key > ss[i+1].Key)
{
Struct tmp= ss[i];
ss[i]= ss[i+1];
ss[i+1]= tmp;
}
}
}
static void Sort(Struct[] ss) {
Array.Sort(ss, (x, y) => y.Key.CompareTo(x.Key));
}
static void Sort(Struct[] ss){
Array.Sort(ss, (x, y) => x.Key.CompareTo(y.Key));
}
static void Sort(Struct[] ss) {
ss.OrderBy(a => a.Key);
}
static void Sort(Struct[] ss)
{
// Это будет шейкерная сортировка
int left = 0, right = ss.Length - 1;
while (left <= right)
{
for (int i = right; i > left; i--)
{
if (ss[i - 1].Key > ss[i].Key)
(ss[i - 1], ss[i]) = (ss[i], ss[i - 1]); // типа Swap(...) в C++
}
++left;
for (int i = left; i < right; i++)
{
if (ss[i].Key > ss[i + 1].Key)
(ss[i], ss[i + 1]) = (ss[i + 1], ss[i]);
}
--right;
}
}
static void Sort(Struct[] ss)
{
Array.Sort(ss, (x, y) => x.Key.CompareTo(y.Key));
}
static void Sort(Struct[] ss)
{
Struct[] sorted = new Struct[ss.Length];
for(int i = 0;i< ss.Length;i++)
{
int count = 0;
for(int q = 0;q< ss.Length;q++)
{
if(ss[i].Key>ss[q].Key) count++;
}
if(sorted[count].Value==null)
{
sorted[count] = ss[i];
}
else
{
sorted[count++] = ss[i];
}
}
ss=sorted;
}
static void Sort(Struct[] ss){
for(int i = 0; i< ss.Length; i++)
for(int j = ss.Length-1; j>0; j--){
if(ss[j].Key < ss[j-1].Key){
var temp = ss[j];
ss[j] = ss[j-1];
ss[j-1] = temp;
}
}
}
{
Array.Sort(ss, (s1, s2) => s1.Key.CompareTo(s2.Key));
}
{
Sort(ss, 0, ss.Length - 1);
}
static void swap(ref Struct a, ref Struct b)
{
var temp = a;
a = b;
b= temp;
}
static void Sort(Struct[] ss, int l, int r)
{
if (l > r) return;
int mid = ss[l + ((r - l) / 2)].Key;
int i = l;
int j = r;
while (i<=j)
{
while (ss[i].Key < mid) i++;
while (ss[j].Key > mid) j--;
if (i<=j)
{
swap(ref ss[i], ref ss[j]);
i++;
j--;
}
}
if(i< r) Sort(ss, i, r);
if(j>l) Sort(ss, l, j);
}
for(int i = 0;i < ss.Length; i++){
Struct p = ss[i];
for(int j = i-1;j >= 0; j--){
Struct p1 = ss[j];
if(p.Key < p1. Key){
ss[i] = p1;
ss[j] = p;
}
}
}
}
{
Array.Sort(ss, (x, y) => x.Key.CompareTo(y.Key));
}
{
int n = ss.Length;
for (int i = 0; i < n - 1; i++)
{
for (int j = 0; j < n - i - 1; j++)
{
if (ss[j].Key > ss[j + 1].Key)
{
Struct temp = ss[j];
ss[j] = ss[j + 1];
ss[j + 1] = temp;
}
}
}
}
ss.OrderBy(x=>x.Key);
}
Array.Sort(ss, (x, y) => x.Key.CompareTo(y.Key));
}
{
for(int i = 0; i < ss.Length; i += 1)
{
foreach(Struct s in ss)
{
if(s.Key < i)
{
ss[i] = s;
}
}
}
}
{
Struct temp;
for (int i = 0; i < ss.Length; i++)
{
for (int j = 0; j < ss.Length - 1; j++)
{
if (ss[j].Key > ss[j + 1].Key)
{
temp = ss[j];
ss[j] = ss[j + 1];
ss[j + 1] = temp;
}
}
}
}
{
for(int i = 0, j = 1; j < ss.Length; i++, j++)
{
if(ss[i].Key > ss[j].Key)
{
var temp = ss[i];
ss[i] = ss[j];
ss[j] = temp;
}
}
}
{
Struct tmp;
for (int i = 0; i < ss.Length; i++)
{
for (int j = i + 1; j < ss.Length; j++)
{
if (ss[i].Key > ss[j].Key)
{
tmp = ss[i];
ss[i] = ss[j];
ss[j] = tmp;
}
}
}
}
ss = ss.OrderBy(key => key.Key).ToArray();
}
{
for (int i = 0; i < ss.Length - 1; i++)
{
for (int j = 0; j < ss.Length - i - 1; j++)
{
if (ss[j].Key > ss[j + 1].Key)
{
Struct temp = ss[j];
ss[j] = ss[j + 1];
ss[j + 1] = temp;
}
}
}
}
{
Array.Sort(ss, (x, y) => x.Key.CompareTo(y.Key));
}
for (int i = 0; i < ss.Length-1; i++){
int smallestval = i;
for(int j = i + 1; j < ss.Length; j++){
if(ss[j].Key < ss[smallestval].Key){
smallestval = j;
}
}
var temp = ss[smallestval];
ss[smallestval] = ss[i];
ss[i] = temp;
}
}
{
for (int i = 0; i < ss.Length; i++)
{
for (int j = i+1; j < ss.Length; j++)
if(ss[i].Key > ss[j].Key)
{
Struct t = ss[i];
ss[i] = ss[j];
ss[i+1] = t;
}
}
}
{
for(int i = 0; i < ss.Length; i++)
{
for(int j = 0; j < ss.Length - 1 - i; j++)
{
if(ss[j].Key > ss[j + 1].Key)
{
Swap(ref ss[j], ref ss[j + 1]);
}
}
}
}
static void Swap(ref Struct a, ref Struct b)
{
Struct temp = a;
a = b;
b = temp;
}
bool swapped = false;
for(int i = 0; i < ss.Length-1; i++){
for(int j = 0; j < ss.Length-i-1; j++){
if(ss[j].Key > ss[j+1].Key){
swapped = true;
(ss[j], ss[j+1]) = (ss[j+1], ss[j]);
}
}
if(!swapped) break;
}
}
{
for(int i=1; i>ss.Length; i++)
{
int elm = ss[i].Key;// само число ключ
int prevElm = ss[i - 1].Key;
// if(elm)
while (elm< prevElm)
{
Struct p = ss[i];
ss[i ] = ss[i - 1];
ss[i - 1] = p;
//
}
}
}
{
Struct buffer;
for(int i = 0; i < ss.Length; i++)
{
for(int j = 0; j < ss.Length; j++)
{
if (ss[i].Key < ss[j].Key)
{
buffer = ss[j];
ss[j] = ss[i];
ss[i] = buffer;
}
}
}
}
Array.Sort(ss, (x, y) => x.Key.CompareTo(y.Key));
}
for(int i = 0; i < ss.Length; i++) {
for(int j = 0; j < i; j++) {
if(ss[j].Key > ss[j+1].Key) {
Struct t = ss[j+1];
ss[j+1] = ss[j];
ss[j] = t;
}
}
}
}
{
Array.Sort(ss, (s1, s2) => s1.Key.CompareTo(s2.Key));
}
{
ss.OrderBy(x=>x.Key);
}
{
Array.Sort(ss, (x, y) => x.Key.CompareTo(y.Key));
}
for (int i = 1; i < s.Length; i++) {
for (int j = s.Length - 1; j >= i; j--) {
if (s[j].Key > s[j - 1].Key) continue;
Struct temp = s[j - 1];
s[j - 1] = s[j];
s[j] = temp;
}
}
}
{
ss.OrderBy(x => x.Key);
}
Array.Sort(ss, (s1, s2) => s1.Key.CompareTo(s2.Key));
}
{
for(int i = 0; i < ss.Length; i++)
{
for(int j = 0; j < ss.Length - 1 - i; j++)
{
if(ss[j].Key > ss[j + 1].Key)
{
Swap(ref ss[i], ref ss[j+1]);
}
}
}
}
static void Swap(ref Struct a, ref Struct b)
{
Struct temp = a;
a = b;
b = temp;
}
{
int stop = ss.Length;
for (int i = 1; i < stop; i++)
{
if (ss[i - 1].Key > ss[i].Key)
{
Struct temp = ss[i - 1];
ss[i - 1] = ss[i];
ss[i] = temp;
}
stop--;
}
}
for(int i=0; i< ss.Length-1; i++){
if(ss[i].Key>ss[i+1].Key){
Struct a=ss[i];
ss[i]=ss[i+1];
ss[i+1]=a;
}
}
}
int t = ss.Length;
for(int i = 0;i < t - 1;i++){
for(int j = 0;j < t - i - 1;j++){
if(ss[j].Key > ss[j + 1].Key){
Struct temp = ss[j];
ss[j] = ss[j +1];
ss[j + 1] = temp;
}
}
}
}
for(int j = 0; j < ss.Length; j++){
for(int i = 0; i < ss.Length-1; i++){
if(ss[i].Key>ss[i+1].Key){
Struct newStruct = new Struct {Key = ss[i].Key, Value = ss[i].Value};
ss[i] = new Struct {Key = ss[i+1].Key, Value = ss[i+1].Value};
ss[i+1] = newStruct;
}
}
}
}
for (int i = 0; i < ss.Length-1; i++)
{
if (ss[i].Key > ss[i+1].Key)
{
Struct tmp= ss[i];
ss[i]= ss[i+1];
ss[i+1]= tmp;
}
}
}
Array.Sort(ss, (x, y) => y.Key.CompareTo(x.Key));
}
Array.Sort(ss, (x, y) => x.Key.CompareTo(y.Key));
}
ss.OrderBy(a => a.Key);
}
{
// Это будет шейкерная сортировка
int left = 0, right = ss.Length - 1;
while (left <= right)
{
for (int i = right; i > left; i--)
{
if (ss[i - 1].Key > ss[i].Key)
(ss[i - 1], ss[i]) = (ss[i], ss[i - 1]); // типа Swap(...) в C++
}
++left;
for (int i = left; i < right; i++)
{
if (ss[i].Key > ss[i + 1].Key)
(ss[i], ss[i + 1]) = (ss[i + 1], ss[i]);
}
--right;
}
}
{
Array.Sort(ss, (x, y) => x.Key.CompareTo(y.Key));
}
{
Struct[] sorted = new Struct[ss.Length];
for(int i = 0;i< ss.Length;i++)
{
int count = 0;
for(int q = 0;q< ss.Length;q++)
{
if(ss[i].Key>ss[q].Key) count++;
}
if(sorted[count].Value==null)
{
sorted[count] = ss[i];
}
else
{
sorted[count++] = ss[i];
}
}
ss=sorted;
}
for(int i = 0; i< ss.Length; i++)
for(int j = ss.Length-1; j>0; j--){
if(ss[j].Key < ss[j-1].Key){
var temp = ss[j];
ss[j] = ss[j-1];
ss[j-1] = temp;
}
}
}