12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- namespace AtlasUtility
- {
- using System;
- using System.Collections.Generic;
- public static class ExtList
- {
- public static T Back<T>(this List<T> list, int index, bool remove = false)
- {
- T t = list[list.Count - 1 - index];
- if (remove)
- {
- list.RemoveAt(list.Count - 1 - index);
- }
- return t;
- }
- public static void MySort<T>(this List<T> list, Func<T, T, bool> func)
- {
- bool finish = false;
-
- for (int i = 0; i < list.Count; i++)
- {
- finish = true;
- for (int j = 0; j < list.Count - i - 1; j++)
- {
- if (func(list[j], list[j + 1]))
- {
- finish = false;
- T t = list[j];
- list[j] = list[j + 1];
- list[j + 1] = t;
- }
- }
- if (finish)
- {
- break;
- }
- }
- }
- public static float MyMax<T>(this List<T> list, Func<T, float> func)
- {
- float result = func(list[0]);
- for (int i = 1; i < list.Count; i++)
- {
- if (result < func(list[i]))
- {
- result = func(list[i]);
- }
- }
- return result;
- }
- public static float MySum<T>(this List<T> list, Func<T, float> func)
- {
- float result = 0;
- for (int i = 0; i < list.Count; i++)
- {
- result += func(list[i]);
- }
- return result;
- }
- }
- }
|