//--------------------------------------------- public void Add_Position(int position, Oficial s) { Node aux = new Node(s); Node rec_aux; rec_aux = first; for (int i = 1; i <= position; i++) { if (i == position) { if (i == 1) { Add_First(s); } else { aux.next = rec_aux.next; rec_aux.next = aux; } } else { rec_aux = rec_aux.next; } } }
//Metodo que actualiza la interfaz con los datos del nuevo ofical en funciones private void actualizaOficial() { Oficial aux = oficiales.Get_First(); Humanos aux1; Vulcanos aux2; lNombre.Text = aux.getNombre(); lGraduacion.Text = aux.getGraduacion(); if (aux.getRaza().ToUpper().Equals("HUMANO")) { aux1 = (Humanos)aux; lEspSect.Text = aux1.getEspecialidad(); } else { if (aux.getRaza().ToUpper().Equals("VULCANO")) { aux2 = (Vulcanos)aux; if (aux2.getSecta() == true) { lEspSect.Text = "Secta romulana"; } else { lEspSect.Text = "No pertenece a ninguna secta"; } } } lRaza.Text = aux.getRaza(); lClave.Text = Convert.ToString(aux.getClave()); pictureBox1.Image = aux.getFoto(); aux.setPuesto(true); }
//--------------------------------------------- public void Add_Position(int position, Oficial s) { Node aux = new Node(s); Node rec_aux; rec_aux = first; for (int i = 1; i <= position;i++ ) { if (i == position) { if (i == 1) { Add_First(s); } else { aux.next = rec_aux.next; rec_aux.next = aux; } } else { rec_aux = rec_aux.next; } } }
//--------------------------------------------- public Oficial Get_First() { Oficial element = null; if (this.first != null) { element = first.data; } return(element); }
//Metodo que degrada al oficial al cargo private void degradar(int posicion) { if (posicion != 0) { Oficial aux = oficiales.getPosition(posicion); //almaceno ese oficial en un auxiliar oficiales.Remove_Position(posicion); //lo elimino de la lista enlazada aux.setPuesto(false); //indico que ya no esta al cargo oficiales.Add_Last(aux); //lo añado al final de esta actualizaListBox(); //actualizo el listBox() } }
//--------------------------------------------- public void Add_First(Oficial s) { Node newcharacter = new Node(s); if (first == null) first = newcharacter; else { newcharacter.next = first; first = newcharacter; } }
//Metodo que actualiza el listBox de la interfaz con el nuevo orden en el que se encuentren los oficiales private void actualizaListBox() { Oficial aux = oficiales.Get_First(); this.nombreOficial = aux.getNombre(); aux = oficiales.getPosition(2); this.nombreSuboficial = aux.getNombre(); Console.WriteLine(nombreOficial + " " + nombreSuboficial); listOficiales.Items.Clear(); rellenaListBox(); actualizaOficial(); cambioOficial = false; }
//--------------------------------------------- public void Add_First(Oficial s) { Node newcharacter = new Node(s); if (first == null) { first = newcharacter; } else { newcharacter.next = first; first = newcharacter; } }
//--------------------------------------------- public Oficial Get_Last() { Oficial element = null; Node aux = null; if (!Is_Empty()) { aux = first; while (aux.next != null) { aux = aux.next; } element = aux.data; } return(element); }
//--------------------------------------------- public void Add_Last(Oficial s) { Node aux = new Node(s); Node rec_aux; if (first == null) { aux.next = first; first = aux; } else { rec_aux = first; while (rec_aux.next!=null) rec_aux = rec_aux.next; rec_aux.next = aux; } }
//--------------------------------------------- public Oficial getPosition(int position) { Node rec_aux; Oficial aux = null; rec_aux = first; for (int i = 1; i <= position; i++) { if (i == position) { aux = rec_aux.data; } else { rec_aux = rec_aux.next; } } return(aux); }
//--------------------------------------------- public void Add_Last(Oficial s) { Node aux = new Node(s); Node rec_aux; if (first == null) { aux.next = first; first = aux; } else { rec_aux = first; while (rec_aux.next != null) { rec_aux = rec_aux.next; } rec_aux.next = aux; } }
private void btnAscender_Click(object sender, EventArgs e) { if (listOficiales.SelectedItem != null) { String nombre = listOficiales.SelectedItem.ToString(); //se coge el item seleccionado en el listbox int posicion = oficiales.getOficial(nombre.Trim()); //busco la posicion de ese oficial en la lista enlazada if (posicion != 0) { this.cambioOficial = true; Oficial aux = oficiales.getPosition(posicion); //almaceno ese oficial en un auxiliar oficiales.Remove_Position(posicion); //lo elimino de la lista enlazada oficiales.Add_First(aux); //lo añado al principio de esta MessageBox.Show("Se ha nombrado un nuevo oficial en funciones"); actualizaListBox(); //actualizo el listBox() } else { MessageBox.Show("Oficial no encontrado"); } } }
public Node(Oficial pdata) { this.next = null; this.data = pdata; }
//Builders public Node() { next = null; data = new Oficial(); }