一组无序序号:string[] XHS = { "1.9", "1.2", "1.3", "1.5", "1.7", "1.1", "1.19", "1.15", "1.13", "1.14", "1.12", "1.10" };
要删除序号1.1,并返回排序后的数组,且每相邻元素差值为0.1
最终输出 { "1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "1.9", "1.10", "1.12", "1.11" }
string removerXH = "1.1";
string[] XHS = { "1.9", "1.2", "1.3", "1.5", "1.7", "1.1", "1.19", "1.15", "1.13", "1.14", "1.12", "1.10" };
//先进行冒泡排序
for (int i = 0; i < XHS.Length - 1; i++)
{
for (int j = 0; j < XHS.Length - 1 - i; j++)
{
string ixstr = XHS[j].Substring(XHS[j].IndexOf(".") + 1);
int ix = int.Parse(ixstr);
string jxstr = XHS[j + 1].Substring(XHS[j + 1].IndexOf(".") + 1);
int jx = int.Parse(jxstr);
if (ix > jx)
{
string temp = XHS[j];
XHS[j] = XHS[j + 1];
XHS[j + 1] = temp;
}
}
}
//删除指定的序号
ArrayList arrayList = new ArrayList(XHS);
arrayList.Remove(removerXH);
//序号排序,保证差值是1
for (int i = 0; i < arrayList.Count - 1; i++)
{
string ixstr = arrayList[i].ToString().Substring(arrayList[i].ToString().IndexOf(".") + 1);
int ix = int.Parse(ixstr);
string jstr = arrayList[i + 1].ToString().Substring(arrayList[i + 1].ToString().IndexOf(".") + 1);
int jx = int.Parse(jstr);
if (arrayList[0].ToString() != "1.1")
{
arrayList[0] = "1.1";
}
ixstr = arrayList[i].ToString().Substring(arrayList[i].ToString().IndexOf(".") + 1);
ix = int.Parse(ixstr);
int num = jx - ix - 1;
if (num > 0)
{
int numx = jx - num;
arrayList[i + 1] = "1." + numx;
}
}