//////////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> Binary search. </summary> /// /// <remarks> Jakob, 15/09/2018. </remarks> /// /// <param name="searchValue"> The search value. </param> /// /// <returns> An int. </returns> //////////////////////////////////////////////////////////////////////////////////////////////////// public int binarySearch(int searchValue) { this.SortList(); LinkListNode current = HeadNode; ArrayList myTempList = new ArrayList(); for (LinkListNode i = current; i != null; i = i.getNext()) { myTempList.Add(i.getValue()); } return(myTempList.BinarySearch(searchValue)); }
void client_Received2(Client2 sender2, byte[] data2) { Invoke((MethodInvoker) delegate { if (txtAnswer.Text == Encoding.Default.GetString(data2)) { MessageBox.Show("You were correct"); txtFirstNumber.Text = ""; cboxOperator.Text = ""; txtSecondNumber.Text = ""; txtAnswer.Text = ""; btnSend.Enabled = true; } else if (txtAnswer.Text != Encoding.Default.GetString(data2)) { Values numberValues = new Values(Convert.ToUInt16(txtFirstNumber.Text), Convert.ToUInt16(txtSecondNumber.Text), cboxOperator.Text, Convert.ToUInt16(txtAnswer.Text), false); //add to list to be displayed values.Add(numberValues); //create new node and add to nodelist LinkListNode node = new LinkListNode(numberValues); valueNode.AddValuesNode(node); StringBuilder sb = new StringBuilder(); if (txtRichLinkedList.Text == "") { sb.Append("Head <-> "); sb.Append(valueNode.getCurrentNode().NodeToString()); } else { sb.Append(txtRichLinkedList.Text); sb.Append(" <-> "); sb.Append(valueNode.getCurrentNode().NodeToString()); } txtRichLinkedList.Text = sb.ToString(); MessageBox.Show("You were incorrect"); txtFirstNumber.Text = ""; cboxOperator.Text = ""; txtSecondNumber.Text = ""; txtAnswer.Text = ""; btnSend.Enabled = true; } }); }
//////////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> Sort list. </summary> /// /// <remarks> Jakob, 15/09/2018. </remarks> //////////////////////////////////////////////////////////////////////////////////////////////////// public void SortList() { LinkListNode current = HeadNode; for (LinkListNode i = current; i.getNext() != null; i = i.getNext()) { for (LinkListNode j = i.getNext(); j != null; j = j.getNext()) { if (i.getValue() > j.getValue()) { int Temp = j.getValue(); j.setMyValue(i.getValue()); i.setMyValue(Temp); } } } }
//////////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> Adds the values node. </summary> /// /// <remarks> Jakob, 15/09/2018. </remarks> /// /// <param name="node"> The node. </param> //////////////////////////////////////////////////////////////////////////////////////////////////// public void AddValuesNode(LinkListNode node) { if ((HeadNode == null) && (CurrentNode == null) && (TailNode == null)) { HeadNode = node; CurrentNode = node; TailNode = node; count++; } else { CurrentNode = node; HeadNode.setPrevious(node); CurrentNode.setNext(HeadNode); setHeadNode(CurrentNode); count++; } }
//////////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> Sets a next. </summary> /// /// <remarks> Jakob, 15/09/2018. </remarks> /// /// <param name="theNode"> the node. </param> //////////////////////////////////////////////////////////////////////////////////////////////////// public void setNext(LinkListNode theNode) { this.next = theNode; }
//////////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> Sets the previous. </summary> /// /// <remarks> Jakob, 15/09/2018. </remarks> /// /// <param name="theNode"> the node. </param> //////////////////////////////////////////////////////////////////////////////////////////////////// public void setPrevious(LinkListNode theNode) { this.previous = theNode; }
//////////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> Sets tail node. </summary> /// /// <remarks> Jakob, 15/09/2018. </remarks> /// /// <param name="node"> The node. </param> //////////////////////////////////////////////////////////////////////////////////////////////////// public void setTailNode(LinkListNode node) { TailNode = node; }
//////////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> Sets head node. </summary> /// /// <remarks> Jakob, 15/09/2018. </remarks> /// /// <param name="node"> The node. </param> //////////////////////////////////////////////////////////////////////////////////////////////////// public void setHeadNode(LinkListNode node) { HeadNode = node; }
//////////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> Sets current node. </summary> /// /// <remarks> Jakob, 15/09/2018. </remarks> /// /// <param name="node"> The node. </param> //////////////////////////////////////////////////////////////////////////////////////////////////// public void setCurrentNode(LinkListNode node) { CurrentNode = node; }