資源簡介
二維坐標點按行排序,通過Y值判斷坐標點是否屬于同一行,再對同一行的坐標點按X值從小到大進行排序

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Linq;
using?System.Text;
namespace?TwoDimensionalCoordinatesSort
{
????class?Program
????{
????????struct?Point
????????{
????????????public?float?X;
????????????public?float?Y;
????????}
????????const?int?LineSpacing?=?15;???????//行間距,用來判斷坐標點是否屬于同一行
????????
????????static?void?Main(string[]?args)
????????{
????????????List?RandomPointList?=?new?List();
????????????List?SortedPointList?=?new?List();
????????????List?YSortedPointList?=?new?List();
????????????List?RowPointList?=?new?List();
????????????Random?r?=?new?Random();
????????????//第一行坐標
????????????for?(int?i?=?0;?i?7;?i++)
????????????{
????????????????Point?p?=?new?Point();
????????????????p.X?=?r.Next(100);
????????????????p.Y?=?r.Next(10?20);
????????????????RandomPointList.Add(p);
????????????}
????????????//第二行坐標
????????????for?(int?i?=?0;?i?6;?i++)
????????????{
????????????????Point?p?=?new?Point();
????????????????p.X?=?r.Next(100);
????????????????p.Y?=?r.Next(40?50);
????????????????RandomPointList.Add(p);
????????????}
????????????//第三行坐標
????????????for?(int?i?=?0;?i?6;?i++)
????????????{
????????????????Point?p?=?new?Point();
????????????????p.X?=?r.Next(100);
????????????????p.Y?=?r.Next(70?80);
????????????????RandomPointList.Add(p);
????????????}
????????????//第四行坐標
????????????for?(int?i?=?0;?i?6;?i++)
????????????{
????????????????Point?p?=?new?Point();
????????????????p.X?=?r.Next(100);
????????????????p.Y?=?r.Next(100?110);
????????????????RandomPointList.Add(p);
????????????}
????????????//第五行坐標
????????????for?(int?i?=?0;?i?7;?i++)
????????????{
????????????????Point?p?=?new?Point();
????????????????p.X?=?r.Next(100);
????????????????p.Y?=?r.Next(130?140);
????????????????RandomPointList.Add(p);
????????????}
????????????Console.WriteLine(“排序前的坐標:“);
????????????foreach?(var?point?in?RandomPointList)
????????????{
????????????????Console.WriteLine(“(“?+?point.X.ToString()?+?““?+?point.Y.ToString()?+?“)“);
????????????}
????????????YSortedPointList?=?RandomPointList.OrderBy(o?=>?o.Y).ToList();????????//坐標點按Y值升序排序(Y值從小到大的排序)
????????????//二維平面坐標點排序
????????????for?(int?i?=?0;?i?????????????{
????????????????//通過Y值之間的差值大小來判斷坐標點是否屬于同一行
????????????????if?(Math.Abs(YSortedPointList[i].Y?-?YSortedPointList[i?+?1].Y)?????????????????{
????????????????????RowPointList.Add(YSortedPointList[i]);
????????????????????//如果最后一個點不是單獨一行的情況
????????????????????if?(YSortedPointList.Count?-?2?==?i)
????????????????????{
????????????????????????RowPointList.Add(YSortedPointList[i?+?1]);??????????????????//將最后一個坐標元素添加進來
????????????????????????RowPointList?=?RowPointList.OrderBy(o?=>?o.X).ToList();
????????????????????????SortedPointList?=?SortedPointList.Concat(RowPointList).ToList();
???????????????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-12-12?17:13??TwoDimensionalCoordinatesSort\
?????目錄???????????0??2018-12-12?17:33??TwoDimensionalCoordinatesSort\TwoDimensionalCoordinatesSort\
?????文件?????????977??2018-12-12?17:13??TwoDimensionalCoordinatesSort\TwoDimensionalCoordinatesSort.sln
?????文件???????11264??2018-12-12?17:33??TwoDimensionalCoordinatesSort\TwoDimensionalCoordinatesSort.suo
?????目錄???????????0??2018-12-12?17:13??TwoDimensionalCoordinatesSort\TwoDimensionalCoordinatesSort\bin\
?????目錄???????????0??2018-12-12?17:13??TwoDimensionalCoordinatesSort\TwoDimensionalCoordinatesSort\bin\Debug\
?????文件???????14328??2018-12-12?17:13??TwoDimensionalCoordinatesSort\TwoDimensionalCoordinatesSort\bin\Debug\TwoDimensionalCoordinatesSort.vshost.exe
?????文件?????????490??2009-06-11?05:14??TwoDimensionalCoordinatesSort\TwoDimensionalCoordinatesSort\bin\Debug\TwoDimensionalCoordinatesSort.vshost.exe.manifest
?????目錄???????????0??2018-12-12?17:13??TwoDimensionalCoordinatesSort\TwoDimensionalCoordinatesSort\obj\
?????目錄???????????0??2018-12-12?17:13??TwoDimensionalCoordinatesSort\TwoDimensionalCoordinatesSort\obj\Debug\
?????目錄???????????0??2018-12-12?17:13??TwoDimensionalCoordinatesSort\TwoDimensionalCoordinatesSort\obj\Debug\TempPE\
?????文件????????4523??2018-12-12?17:33??TwoDimensionalCoordinatesSort\TwoDimensionalCoordinatesSort\Program.cs
?????目錄???????????0??2018-12-12?17:13??TwoDimensionalCoordinatesSort\TwoDimensionalCoordinatesSort\Properties\
?????文件????????1488??2018-12-12?17:13??TwoDimensionalCoordinatesSort\TwoDimensionalCoordinatesSort\Properties\AssemblyInfo.cs
?????文件????????2531??2018-12-12?17:13??TwoDimensionalCoordinatesSort\TwoDimensionalCoordinatesSort\TwoDimensionalCoordinatesSort.csproj
評論
共有 條評論