Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.IO;
- using System.Collections.Generic;
- using System.Diagnostics;
- using System.Threading;
- using HtmlAgilityPack;
- using System.Linq;
- namespace ConsoleApp11
- {
- class Program
- {
- static void Main(string[] args)
- {
- Console.WriteLine("Hello World!");
- postcodeParser P1 = new postcodeParser();
- Console.WriteLine(P1.postcodeNaarWijk("2904CL"));
- Console.WriteLine(P1.straatnaamNaarWijk("BLAAK"));
- Console.Read();
- }
- }
- public class postcodeParser
- {
- public static List<string> postcodes = new List<string>();
- public static List<string> wijkcodesBijPostcodes = new List<string>();
- public static List<string> wijkcodesBijWijkNamen = new List<string>();
- public static List<string> wijkNamen = new List<string>();
- public static List<string> straten = new List<string>();
- public static List<string> wijkenVanStraten = new List<string>();
- public static List<List<string>> wijkenStraten = new List<List<string>>();
- public postcodeParser()
- {
- using (var reader = new StreamReader(@"D:\AlleCsv\misdaden\Straatroof-2011.csv"))
- {
- while (!reader.EndOfStream)
- {
- var line = reader.ReadLine();
- var values = line.Split(";");
- try
- {
- if (!straten.Contains(values[19]))
- {
- straten.Add(values[19]);
- wijkenVanStraten.Add(values[17].Substring(2));
- }
- }
- catch
- {
- }
- }
- }
- /*
- using (var reader = new StreamReader(@"D:\AlleCsv\misdaden\fietsdiefstal-2011-2013.csv"))
- {
- while(!reader.EndOfStream)
- {
- var line = reader.ReadLine();
- var values = line.Split(';');
- for (int i = 0; i < values.Length; i++)
- {
- Console.WriteLine(i + " " + values[i]);
- }
- Thread.Sleep(10000);
- }
- }*/
- Console.WriteLine("Adding");
- wijkenStraten.Add(straten);
- wijkenStraten.Add(wijkenVanStraten);
- Console.WriteLine("Sorting");
- wijkenStraten[0].Sort();
- for (int i = 0; i < wijkenStraten[0].Count; i++)
- {
- for (int j = 0; j < wijkenStraten.Count; j++)
- {
- try
- {
- //Console.Write(wijkenStraten[j][i] + ", ");
- }
- catch
- {
- }
- }
- //Thread.Sleep(10);
- //Console.WriteLine();
- }
- using (var reader = new StreamReader(@"D:\AlleCsv\wijken\Postcodesenwijken.csv"))
- {
- while (!reader.EndOfStream)
- {
- var line = reader.ReadLine();
- var values = line.Split(';');
- postcodes.Add(values[0]);
- wijkcodesBijPostcodes.Add(values[3]);
- }
- }
- using (var reader = new StreamReader(@"D:\AlleCsv\wijken\WijkNamen.csv"))
- {
- while (!reader.EndOfStream)
- {
- var line = reader.ReadLine();
- var values = line.Split(';');
- wijkcodesBijWijkNamen.Add(values[0]);
- wijkNamen.Add(values[1]);
- }
- }
- var uniqueStraten = wijkenStraten[1].Distinct().ToList();
- uniqueStraten.Sort();
- for (int i = 0; i < uniqueStraten.Count; i++)
- {
- Console.WriteLine(uniqueStraten[i]);
- }
- Thread.Sleep(10000);
- }
- public string postcodeNaarWijk(string postcode)
- {
- string wijkcode = wijkcodesBijPostcodes[binarySearch(postcodes, postcode)];
- string wijk = wijkNamen[binarySearch(wijkcodesBijWijkNamen, wijkcode)];
- return wijk;
- }
- public string straatnaamNaarWijk(string straatnaam)
- {
- string wijk = wijkenStraten[1][binarySearch(wijkenStraten[0], straatnaam)];
- return wijk;
- }
- public static int binarySearch(List<string> theList, string target)
- {
- Stopwatch SW = new Stopwatch();
- SW.Start();
- int left = 0;
- int right = theList.Count - 1;
- int mid;
- while(true)
- {
- mid = ((left + right) / 2);
- Console.WriteLine(theList[mid] + " " + target);
- Thread.Sleep(100);
- int situation = string.Compare(theList[mid], target);
- switch (situation)
- {
- //A < B
- //Go to the right
- case -1:
- left = mid + 1;
- break;
- //A == B
- //Found the target
- //YA DUN!
- case 0:
- Console.WriteLine("Ticks: " + SW.ElapsedTicks);
- return mid;
- //A > B
- //Go to the left
- case 1:
- right = mid - 1;
- break;
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement