как удалить конкретное слово (узел) в связанном списке

Я создаю одну HTML-страницу (index.html). Я также создаю один (механизм.js) внутри директории / script (script). Затем я размещаю весь контент внутри (index.html), используя теги формы, таблицы, span и div. Теперь вот трюк, который заставит обратно / вперед ничего не делать!

Во-первых, тот факт, что у вас есть только одна страница! Во-вторых, использование JavaScript с тегами span / div для скрытия и отображения содержимого на одной странице при необходимости через регулярные ссылки!

Inside 'index.html':

    <td width="89px" align="right" valign="top" style="letter-spacing:1px;">
     <small>
      <b>
       <a href="#" class="traff" onClick="DisplayInTrafficTable();">IN</a>&nbsp;
      </b>
     </small>
     [&nbsp;<span id="inCountSPN">0</span>&nbsp;]
    </td>

Внутри «mechan.js»:

    function DisplayInTrafficTable()
    {
     var itmsCNT = 0;
     var dsplyIn = "";
     for ( i=0; i<inTraffic.length; i++ )
     {
      dsplyIn += "<tr><td width='11'></td><td align='right'>" + (++itmsCNT) + "</td><td width='11'></td><td><b>" + inTraffic[i] + "</b></td><td width='11'></td><td>" + entryTimeArray[i] + "</td><td width='11'></td><td>" + entryDateArray[i] + "</td><td width='11'></td></tr>";
     }
     document.getElementById('inOutSPN').innerHTML = "" +
                                             "<table border='0' style='background:#fff;'><tr><th colspan='21' style='background:#feb;padding:11px;'><h3 style='margin-bottom:-1px;'>INCOMING TRAFFIC REPORT</h3>" + DateStamp() + "&nbsp;&nbsp;-&nbsp;&nbsp;<small><a href='#' style='letter-spacing:1px;' onclick='OpenPrintableIn();'>PRINT</a></small></th></tr><tr style='background:#eee;'><td></td><td><b>###</b></td><td></td><td><b>ID #</b></td><td></td><td width='79'><b>TYPE</b></td><td></td><td><b>FIRST</b></td><td></td><td><b>LAST</b></td><td></td><td><b>PLATE #</b></td><td></td><td><b>COMPANY</b></td><td></td><td><b>TIME</b></td><td></td><td><b>DATE</b></td><td></td><td><b>IN / OUT</b></td><td></td></tr>" + dsplyIn.toUpperCase() + "</table>" +
                                             "";
     return document.getElementById('inOutSPN').innerHTML;
    }

Он выглядит волосатым, но обратите внимание на имена и вызовы функций, встроенный HTML и вызовы id тега span. Это должно было показать, как вы можете вводить разные HTML-теги в те же теги span на той же странице! Как Back / Forward могут повлиять на этот дизайн? Это невозможно, потому что вы скрываете объекты и заменяете других на одной странице!

Как скрыть и отобразить? Здесь: Внутренние функции в «mechan.js» по мере необходимости используют:

    document.getElementById('textOverPic').style.display = "none"; //hide
    document.getElementById('textOverPic').style.display = "";     //display

Функции вызова «index.html» внутри ссылок:

    <img src="images/someimage.jpg" alt="" />
    <span class="textOverPic" id="textOverPic"></span>

и

    <a href="#" style="color:#119;font-size:11px;text-decoration:none;letter-spacing:1px;" onclick="HiddenTextsManager(1);">Introduction</a>

Надеюсь, у меня не было головной боли. Извините, если я сделал: -)

0
задан Worthwelle 5 March 2019 в 06:26
поделиться

1 ответ

Ваш код на самом деле правильный, недостающая часть - просто вы забыли проверить заголовок связанного списка.

У меня проблема с тем, что я хочу удалить узел, но он все еще там, когда я печатаю список

Я не уверен, почему вы не можете удалить узел. Проверьте значения, так как, возможно, они различаются в своем регистре (одно в нижнем регистре, а другое в верхнем регистре). Но если вас не волнуют случаи, просто измените метод вставки и преобразуйте все слова, которые нужно вставить, в нижний / верхний регистр.

Я только что немного подкорректировал ваш код. См. Ниже:

    public void REMOVEWORD(String word) {
        // declare and initialize a help pointer
        Word helpPtr = head;

        // ADD THIS PART (START)
        if (helpPtr.getWord().equals(word)) { // check if the head is the to be removed word
            head = helpPtr.getNext(); // if true then set head to head.getNext()
            return;
        }
        // ADD THIS PART (END)

        while (helpPtr.getNext() != null) { // iterate through the linkedlist
            if (helpPtr.getNext().getWord().equals(word)) { // check if the next node is the word to be removed
                Word next = helpPtr.getNext().getNext(); // if true then get the next node of the next node
                helpPtr.setNext(next); // set the next of the current node to the acquire node above
                // subtract the frequency of the word to be deleted from the list
                // int total = helpPtr.getNext().getFrequency() - countWords; // NOT SURE WHAT
                // THIS CODE WILL DO SO I JUST COMMENTED IT OUT
                break;
            }
            helpPtr = helpPtr.getNext();
        }
    }
0
ответ дан Mark 5 March 2019 в 06:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: