/// <summary>
/// 余数处理
/// </summary>
/// <param name="money"></param>
/// <param name="list"></param>
/// <returns></returns>
public List<int> checklist(int money, int pjs, List<int> list)
{
if (money != 0)
{
if (money > 0)
{
List<int> list_order = maopao(list);
//给最小
if (money / pjs == 0)
{
list_order[0] += money;
}
else
{
for (int i = 0; i < money / pjs + 1; i++)
{
if (i == money / pjs)
{
list_order[i] += (money - (money / pjs) * pjs);
}
else
{
list_order[i] += pjs;
}
}
}
return list_order;
}
else
{
List<int> list_order = maopao(list,"desc");
//给最大
if (money / pjs == 0)
{
list_order[0] += money;
}
else
{
for (int i = 0; i < -(money / pjs) + 1; i++)
{
if (i == -(money / pjs))
{
list_order[i] += (money - (money / pjs) * pjs);
}
else
{
list_order[i] -= pjs;
}
}
}
return list_order;
}
}
return list;
}
/// <summary>
/// 冒泡排序
/// </summary>
/// <param name="list"></param>
/// <param name="order"></param>
/// <returns></returns>
public List<int> maopao(List<int> list,string order = "asc")
{
if (order != "asc")
{
for (int i = 0; i < list.Count; i++)
{
for (int j = 0; j < list.Count - i - 1; j++)
{
if (list[j + 1] > list[j])
{
int temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
}
}
}
}
else
{
for (int i = 0; i < list.Count; i++)
{
for (int j = 0; j < list.Count-i-1;j++)
{
if (list[j+1] < list[j])
{
int temp = list[j];
list[j] = list[j+1];
list[j+1] = temp;
}
}
}
}
return list;
}
/// <summary>
/// 打乱顺序
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
public List<int> suiji(List<int> list)
{
Random rnd = new Random();
for (int i = 0; i < list.Count; i++)
{
int temp = list[i];
int j = rnd.Next(0, list.Count-1);
list[i] = list[j];
list[j] = temp;
}
return list;
}
本文已被整理到了《ASP.NET微信开发教程汇总》,欢迎大家学习阅读。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易采站长站。








