⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 classcitylink.cs

📁 一个使用免疫算法实现物流调度的源代码
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using immune_algorithm.wlddDataSetTableAdapters;
namespace immune_algorithm
{
    class ClassNextCity
    {
        public int linkLength;     
        public Guid nextCityid;
        public String cityName;
    }

    class ClassCityLink
    {       
        public  Guid firstCityId;
        public String cityName;

        public ArrayList listCityLink(ArrayList list,Guid projectId)//将选定的配货点的路径关系找出并存放到listAllCitylink中,list为已经选择的城市
        {
            ArrayList listAllCityslink = new ArrayList();
            wlddDataSet.linkPath1DataTable linkTable = GetAllLinks(projectId);
            for (int i = 0; i < list.Count; i++)
            {
               
                ArrayList cityLink = new ArrayList();//记录每一个城市的临近城市
                ClassCityLink firtCity = new ClassCityLink();
                firtCity.firstCityId = ((Classcity)list[i]).cityId;//开始城市的id
                firtCity.cityName = ((Classcity)list[i]).cityName;

                cityLink.Add(firtCity);//加入开始城市 
             //   System.Console.Out.WriteLine(linkTable.Rows.Count + "linkTable.Rows.Count.................");

                for (int j = 0; j < linkTable.Rows.Count; j++)
                {
                    if (firtCity.firstCityId.Equals((Guid)(linkTable.Rows[j]["firstNodeId"])))
                    {
                        ClassNextCity nextCity = new ClassNextCity();
                        nextCity.nextCityid = (Guid)(linkTable.Rows[j]["nextNodeId"]);//获取连接城市的id
                        for (int k = 0; k < list.Count; k++)//获取连接城市的名字
                        {
                            if (nextCity.nextCityid.Equals(((Classcity)list[k]).cityId))
                            {
                                nextCity.cityName = ((Classcity)list[k]).cityName;
                            }
                        }
                            
                            nextCity.linkLength =(int)linkTable.Rows[j]["linkLength"];//获取连接城市的路径长度
                            
                        cityLink.Add(nextCity);
                    
                    }
                }

                listAllCityslink.Add(cityLink);
            
            }
          //printAllLinkList(listAllCityslink);
            return listAllCityslink;


        }

        public wlddDataSet.linkPath1DataTable GetAllLinks(Guid projectId)//从数据库中取出所有路径的连接关系
        {
            linkPath1TableAdapter linkPath1Adapter = new linkPath1TableAdapter();
            wlddDataSet.linkPath1DataTable linkTable = linkPath1Adapter.GetDataByProjectId(projectId);
            return linkTable;

        }




        //public ArrayList listCityLink(ArrayList list)
        //{     
        //    ArrayList listAllCitysLink = new ArrayList();

        //    ArrayList listCity1 = new ArrayList();//存储每个城市所能到达的城市的里程
        //    ClassCityLink cityLink1 = new ClassCityLink();
        //    cityLink1.firstCityId  = ((Classcity)list[0]).cityId;//开始城市的id
        //    cityLink1.cityName = ((Classcity)list[0]).cityName;
         
        //    ClassNextCity nextCity11 = new ClassNextCity();
        //    nextCity11.nextCityid = ((Classcity)list[2]).cityId;
        //    nextCity11.cityName = ((Classcity)list[2]).cityName;
        //    nextCity11.linkLength = 47;

        //    ClassNextCity nextCity12 = new ClassNextCity();
        //    nextCity12.nextCityid = ((Classcity)list[1]).cityId;
        //    nextCity12.cityName = ((Classcity)list[1]).cityName;
        //    nextCity12.linkLength = 62;

        //    listCity1.Add(cityLink1);
        //    listCity1.Add(nextCity11);
        //    listCity1.Add(nextCity12);



        //    ArrayList listCity2 = new ArrayList();//存储每个城市所能到达的城市的里程
        //    ClassCityLink cityLink2 = new ClassCityLink();
        //    cityLink2.firstCityId = ((Classcity)list[1]).cityId;//开始城市的id
        //    cityLink2.cityName = ((Classcity)list[1]).cityName;

        //    ClassNextCity nextCity21 = new ClassNextCity();
        //    nextCity21.nextCityid = ((Classcity)list[0]).cityId;
        //    nextCity21.cityName = ((Classcity)list[0]).cityName;
        //    nextCity21.linkLength = 62;

        //    ClassNextCity nextCity22 = new ClassNextCity();
        //    nextCity22.nextCityid = ((Classcity)list[2]).cityId;
        //    nextCity22.cityName = ((Classcity)list[2]).cityName;
        //    nextCity22.linkLength = 55;

        //    listCity2.Add(cityLink2);
        //    listCity2.Add(nextCity21);
        //    listCity2.Add(nextCity22);


        //    ArrayList listCity3 = new ArrayList();//存储每个城市所能到达的城市的里程
        //    ClassCityLink cityLink3 = new ClassCityLink();
        //    cityLink3.firstCityId = ((Classcity)list[2]).cityId;//开始城市的id
        //    cityLink3.cityName = ((Classcity)list[2]).cityName;

        //    ClassNextCity nextCity31 = new ClassNextCity();
        //    nextCity31.nextCityid = ((Classcity)list[0]).cityId;
        //    nextCity31.cityName = ((Classcity)list[0]).cityName;
        //    nextCity31.linkLength = 47;

        //    ClassNextCity nextCity32 = new ClassNextCity();
        //    nextCity32.nextCityid = ((Classcity)list[1]).cityId;
        //    nextCity32.cityName = ((Classcity)list[1]).cityName;
        //    nextCity32.linkLength = 55;

        //    ClassNextCity nextCity33 = new ClassNextCity();
        //    nextCity33.nextCityid = ((Classcity)list[3]).cityId;
        //    nextCity33.cityName = ((Classcity)list[3]).cityName;
        //    nextCity33.linkLength = 37;

        //    listCity3.Add(cityLink3);
        //    listCity3.Add(nextCity31);
        //    listCity3.Add(nextCity32);
        //    listCity3.Add(nextCity33);


        //    ArrayList listCity4 = new ArrayList();//存储每个城市所能到达的城市的里程
        //    ClassCityLink cityLink4 = new ClassCityLink();
        //    cityLink4.firstCityId = ((Classcity)list[3]).cityId;//开始城市的id
        //    cityLink4.cityName = ((Classcity)list[3]).cityName;

        //    ClassNextCity nextCity41 = new ClassNextCity();
        //    nextCity41.nextCityid = ((Classcity)list[2]).cityId;
        //    nextCity41.cityName = ((Classcity)list[2]).cityName;
        //    nextCity41.linkLength = 37;

        //    ClassNextCity nextCity42 = new ClassNextCity();
        //    nextCity42.nextCityid = ((Classcity)list[4]).cityId;
        //    nextCity42.cityName = ((Classcity)list[4]).cityName;
        //    nextCity42.linkLength = 100;

        //    listCity4.Add(cityLink4);
        //    listCity4.Add(nextCity41);
        //    listCity4.Add(nextCity42);



        //    ArrayList listCity5 = new ArrayList();//存储每个城市所能到达的城市的里程
        //    ClassCityLink cityLink5 = new ClassCityLink();
        //    cityLink5.firstCityId = ((Classcity)list[4]).cityId;//开始城市的id
        //    cityLink5.cityName = ((Classcity)list[4]).cityName;

        //    ClassNextCity nextCity51 = new ClassNextCity();
        //    nextCity51.nextCityid = ((Classcity)list[5]).cityId;
        //    nextCity51.cityName = ((Classcity)list[5]).cityName;
        //    nextCity51.linkLength = 75;

        //    ClassNextCity nextCity52 = new ClassNextCity();
        //    nextCity52.nextCityid = ((Classcity)list[6]).cityId;
        //    nextCity52.cityName = ((Classcity)list[6]).cityName;
        //    nextCity52.linkLength = 26;

        //    ClassNextCity nextCity53 = new ClassNextCity();
        //    nextCity53.nextCityid = ((Classcity)list[7]).cityId;
        //    nextCity53.cityName = ((Classcity)list[7]).cityName;
        //    nextCity53.linkLength = 39;

        //    ClassNextCity nextCity54 = new ClassNextCity();
        //    nextCity54.nextCityid = ((Classcity)list[8]).cityId;
        //    nextCity54.cityName = ((Classcity)list[8]).cityName;
        //    nextCity54.linkLength = 59;

        //    ClassNextCity nextCity55 = new ClassNextCity();
        //    nextCity55.nextCityid = ((Classcity)list[3]).cityId;
        //    nextCity55.cityName = ((Classcity)list[3]).cityName;
        //    nextCity55.linkLength = 100;

        //    listCity5.Add(cityLink5);
        //    listCity5.Add(nextCity51);
        //    listCity5.Add(nextCity52);
        //    listCity5.Add(nextCity53);
        //    listCity5.Add(nextCity54);
        //    listCity5.Add(nextCity55);



        //    ArrayList listCity6 = new ArrayList();//存储每个城市所能到达的城市的里程
        //    ClassCityLink cityLink6 = new ClassCityLink();
        //    cityLink6.firstCityId = ((Classcity)list[5]).cityId;//开始城市的id
        //    cityLink6.cityName = ((Classcity)list[5]).cityName;

        //    ClassNextCity nextCity61 = new ClassNextCity();
        //    nextCity61.nextCityid = ((Classcity)list[4]).cityId;
        //    nextCity61.cityName = ((Classcity)list[4]).cityName;
        //    nextCity61.linkLength = 75;

        //    ClassNextCity nextCity62 = new ClassNextCity();
        //    nextCity62.nextCityid = ((Classcity)list[6]).cityId;
        //    nextCity62.cityName = ((Classcity)list[6]).cityName;
        //    nextCity62.linkLength = 75;

        //    listCity6.Add(cityLink6);
        //    listCity6.Add(nextCity61);
        //    listCity6.Add(nextCity62);


        //    ArrayList listCity7 = new ArrayList();//存储每个城市所能到达的城市的里程
        //    ClassCityLink cityLink7 = new ClassCityLink();
        //    cityLink7.firstCityId = ((Classcity)list[6]).cityId;//开始城市的id
        //    cityLink7.cityName = ((Classcity)list[6]).cityName;

        //    ClassNextCity nextCity71 = new ClassNextCity();
        //    nextCity71.nextCityid = ((Classcity)list[4]).cityId;
        //    nextCity71.cityName = ((Classcity)list[4]).cityName;
        //    nextCity71.linkLength = 26;

        //    ClassNextCity nextCity72 = new ClassNextCity();
        //    nextCity72.nextCityid = ((Classcity)list[5]).cityId;
        //    nextCity72.cityName = ((Classcity)list[5]).cityName;
        //    nextCity72.linkLength = 75;

        //    listCity7.Add(cityLink7);
        //    listCity7.Add(nextCity71);
        //    listCity7.Add(nextCity72);


        //    ArrayList listCity8 = new ArrayList();//存储每个城市所能到达的城市的里程
        //    ClassCityLink cityLink8 = new ClassCityLink();
        //    cityLink8.firstCityId = ((Classcity)list[7]).cityId;//开始城市的id
        //    cityLink8.cityName = ((Classcity)list[7]).cityName;

        //    ClassNextCity nextCity81 = new ClassNextCity();
        //    nextCity81.nextCityid = ((Classcity)list[4]).cityId;
        //    nextCity81.cityName = ((Classcity)list[4]).cityName;
        //    nextCity81.linkLength = 39;

        //    ClassNextCity nextCity82 = new ClassNextCity();
        //    nextCity82.nextCityid = ((Classcity)list[8]).cityId;
        //    nextCity82.cityName = ((Classcity)list[8]).cityName;
        //    nextCity82.linkLength = 40;

        //    listCity8.Add(cityLink8);
        //    listCity8.Add(nextCity81);
        //    listCity8.Add(nextCity82);


        //    ArrayList listCity9 = new ArrayList();//存储每个城市所能到达的城市的里程
        //    ClassCityLink cityLink9 = new ClassCityLink();
        //    cityLink9.firstCityId = ((Classcity)list[8]).cityId;//开始城市的id
        //    cityLink9.cityName = ((Classcity)list[8]).cityName;

        //    ClassNextCity nextCity91 = new ClassNextCity();
        //    nextCity91.nextCityid = ((Classcity)list[4]).cityId;
        //    nextCity91.cityName = ((Classcity)list[4]).cityName;
        //    nextCity91.linkLength = 59;

        //    ClassNextCity nextCity92 = new ClassNextCity();
        //    nextCity92.nextCityid = ((Classcity)list[7]).cityId;
        //    nextCity92.cityName = ((Classcity)list[7]).cityName;
        //    nextCity92.linkLength = 40;

        //    listCity9.Add(cityLink9);
        //    listCity9.Add(nextCity91);
        //    listCity9.Add(nextCity92);

        //    listAllCitysLink.Add(listCity1);
        //    listAllCitysLink.Add(listCity2);
        //    listAllCitysLink.Add(listCity3);
        //    listAllCitysLink.Add(listCity4);
        //    listAllCitysLink.Add(listCity5);
        //    listAllCitysLink.Add(listCity6);
        //    listAllCitysLink.Add(listCity7);
        //    listAllCitysLink.Add(listCity8);
        //    listAllCitysLink.Add(listCity9);

        //    return listAllCitysLink;

        //}

        public void printAllLinkList(ArrayList listAllLink)//输出
        {            
            for (int i = 0; i < listAllLink.Count; i++)
            {
                ArrayList listLink = (ArrayList)listAllLink[i];
                for (int j = 0; j < listLink.Count; j++)
                {
                    if (j == 0)
                    {
                        System.Console.Out.Write(((ClassCityLink)listLink[j]).cityName);
                        System.Console.Out.Write("-->");
                    }
                    else
                    {
                        System.Console.Out.Write(((ClassNextCity)listLink[j]).cityName);
                        System.Console.Out.Write(((ClassNextCity)listLink[j]).linkLength);
                    }

                }
                System.Console.Out.Write("\n");
                    
            }

        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -