Inhaltsverzeichnis
Beispiel
Heim Backend-Entwicklung C++ Übersetzen Sie im C-Programm den folgenden Inhalt ins Chinesische: Programm zum Suchen des n-ten Knotens am Ende einer verknüpften Liste

Übersetzen Sie im C-Programm den folgenden Inhalt ins Chinesische: Programm zum Suchen des n-ten Knotens am Ende einer verknüpften Liste

Sep 13, 2023 pm 03:13 PM
节点 链表 reziprok

Bei n Knoten besteht die Aufgabe darin, den n-ten Knoten am Ende der verknüpften Liste zu drucken. Das Programm darf die Reihenfolge der Knoten in der Liste nicht ändern, sondern sollte nur den n-ten Knoten vom letzten Knoten der verknüpften Liste ausdrucken.

Beispiel

Input -: 10 20 30 40 50 60
   N=3
Output -: 40
Nach dem Login kopieren

Im obigen Beispiel wird ausgehend vom ersten Knoten zu Knoten mit der Anzahl n durchlaufen, d. h. 10,20 30,40, 50,60, sodass der drittletzte Knoten 40 ist.

Übersetzen Sie im C-Programm den folgenden Inhalt ins Chinesische: Programm zum Suchen des n-ten Knotens am Ende einer verknüpften Liste

Anstatt die gesamte Liste so effizient zu durchlaufen, können Sie dem Ansatz folgen:

  • Erhalten Sie einen temporären Zeiger auf beispielsweise die Temperatur des Knotentyps.
  • Setzen Sie diesen temporären Zeiger auf den ersten Knotenkopfzeiger, auf den gezeigt wird ?? die Schleife bis 5-3, was 2 ist, also beginnend mit 10 an der 0
  • .
  • Position, bis 20 zur 1. Position und die 30. Position zur zweiten Position führt. Bei diesem Ansatz ist es also nicht erforderlich, die gesamte Liste bis zum Ende zu durchlaufen, was Platz und Speicher spart.
  • Algorithmus
  • Start
    Step 1 -> create structure of a node and temp, next and head as pointer to a structure node
       struct node
          int data
          struct node *next, *head, *temp
       End
    Step 2 -> declare function to insert a node in a list
       void insert(int val)
          struct node* newnode = (struct node*)malloc(sizeof(struct node))
          newnode->data = val
          IF head= NULL
             set head = newnode
             set head->next = NULL
          End
          Else
             Set temp=head
             Loop While temp->next!=NULL
                Set temp=temp->next
             End
             Set newnode->next=NULL
             Set temp->next=newnode
          End
    Step 3 -> Declare a function to display list
       void display()
          IF head=NULL
             Print no node
          End
          Else
             Set temp=head
             Loop While temp!=NULL
                Print temp->data
                Set temp=temp->next
             End
          End
    Step 4 -> declare a function to find nth node from last of a linked list
       void last(int n)
          declare int product=1, i
          Set temp=head
          Loop For i=0 and i<count-n and i++
             Set temp=temp->next
          End
          Print temp->data
    Step 5 -> in main()
       Create nodes using struct node* head = NULL
       Declare variable n as nth to 3
       Call function insert(10) to insert a node
       Call display() to display the list
       Call last(n) to find nth node from last of a list
    Stop
    Nach dem Login kopieren
  • Beispiel
Live-Demonstration

#include<stdio.h>
#include<stdlib.h>
//structure of a node
struct node{
   int data;
   struct node *next;
}*head,*temp;
int count=0;
//function for inserting nodes into a list
void insert(int val){
   struct node* newnode = (struct node*)malloc(sizeof(struct node));
   newnode->data = val;
   newnode->next = NULL;
   if(head == NULL){
      head = newnode;
      temp = head;
      count++;
   } else {
      temp->next=newnode;
      temp=temp->next;
      count++;
   }
}
//function for displaying a list
void display(){
   if(head==NULL)
      printf("no node ");
   else {
      temp=head;
      while(temp!=NULL) {
         printf("%d ",temp->data);
         temp=temp->next;
      }
   }
}
//function for finding 3rd node from the last of a linked list
void last(int n){
   int i;
   temp=head;
   for(i=0;i<count-n;i++){
      temp=temp->next;
   }
   printf("</p><p>%drd node from the end of linked list is : %d" ,n,temp->data);
}
int main(){
   //creating list
   struct node* head = NULL;
   int n=3;
   //inserting elements into a list
   insert(1);
   insert(2);
   insert(3);
   insert(4);
   insert(5);
   insert(6);
   //displaying the list
   printf("</p><p>linked list is : ");
   display();
   //calling function for finding nth element in a list from last
   last(n);
   return 0;
}
Nach dem Login kopieren
Ausgabe
linked list is : 1 2 3 4 5 6
3rd node from the end of linked list is : 4
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonÜbersetzen Sie im C-Programm den folgenden Inhalt ins Chinesische: Programm zum Suchen des n-ten Knotens am Ende einer verknüpften Liste. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Suchen Sie mithilfe der rekursiven Methode den n-ten Knoten aus der letzten verknüpften Liste in C++ Suchen Sie mithilfe der rekursiven Methode den n-ten Knoten aus der letzten verknüpften Liste in C++ Sep 15, 2023 pm 05:53 PM

Gegeben sei eine einfach verknüpfte Liste und eine positive ganze Zahl N als Eingabe. Das Ziel besteht darin, mithilfe der Rekursion den N-ten Knoten am Ende der angegebenen Liste zu finden. Wenn die Eingabeliste Knoten a→b→c→d→e→f hat und N 4 ist, dann ist der vierte Knoten vom letzten c. Wir werden zunächst bis zum letzten Knoten in der Liste durchlaufen und bei der Rückkehr von der rekursiven (Backtracking-)Inkrementzählung. Wenn count gleich N ist, wird als Ergebnis ein Zeiger auf den aktuellen Knoten zurückgegeben. Schauen wir uns hierfür verschiedene Eingabe- und Ausgabeszenarien an - Eingabeliste: -1→5→7→12→2→96→33N=3 Ausgabe − Der N-te Knoten vom letzten ist: 2 Erläuterung − Der dritte Knoten ist 2 . Eingabe − Liste: -12→53→8→19→20→96→33N=8 Ausgabe – Knoten existiert nicht

Fragen Sie das Mindestgewicht im Teilbaum ab Knoten X und höchstens Abstand D ab Fragen Sie das Mindestgewicht im Teilbaum ab Knoten X und höchstens Abstand D ab Aug 25, 2023 am 11:25 AM

Bei der Computerprogrammierung ist es manchmal erforderlich, das Mindestgewicht eines Teilbaums zu ermitteln, der von einem bestimmten Knoten stammt, vorausgesetzt, der Teilbaum darf keine Knoten enthalten, die mehr als D Einheiten vom angegebenen Knoten entfernt sind. Dieses Problem tritt in verschiedenen Bereichen und Anwendungen auf, darunter in der Graphentheorie, baumbasierten Algorithmen und der Netzwerkoptimierung. Ein Teilbaum ist eine Teilmenge einer größeren Baumstruktur, wobei der angegebene Knoten als Wurzelknoten des Teilbaums dient. Ein Teilbaum enthält alle Nachkommen des Wurzelknotens und deren Verbindungskanten. Die Gewichtung eines Knotens bezieht sich auf einen bestimmten, diesem Knoten zugewiesenen Wert, der seine Wichtigkeit, Wichtigkeit oder andere relevante Metriken darstellen kann. Bei diesem Problem besteht das Ziel darin, das Mindestgewicht aller Knoten in einem Teilbaum zu ermitteln und gleichzeitig den Teilbaum auf Knoten zu beschränken, die höchstens D Einheiten vom Wurzelknoten entfernt sind. Im folgenden Artikel werden wir uns mit der Komplexität des Minings von Mindestgewichten aus Teilbäumen befassen

Addiere 1 zu einer Zahl, die durch eine verknüpfte Liste dargestellt wird Addiere 1 zu einer Zahl, die durch eine verknüpfte Liste dargestellt wird Aug 29, 2023 pm 09:17 PM

Eine verknüpfte Listendarstellung einer Zahl wird wie folgt bereitgestellt: Alle Knoten der verknüpften Liste werden als eine Ziffer der Zahl betrachtet. Knoten speichern Zahlen so, dass das erste Element der verknüpften Liste die höchstwertige Ziffer der Zahl enthält und das letzte Element der verknüpften Liste die niedrigstwertige Ziffer der Zahl enthält. Beispielsweise wird die Zahl 202345 in der verknüpften Liste als (2->0->2->3->4->5) dargestellt. Um 1 zu dieser verknüpften Liste mit Zahlen hinzuzufügen, müssen wir den Wert des niedrigstwertigen Bits in der Liste überprüfen. Wenn es weniger als 9 ist, ist es in Ordnung, andernfalls ändert der Code die nächste Zahl und so weiter. Sehen wir uns nun ein Beispiel an, um zu verstehen, wie das geht: 1999 wird als (1->9->9->9) dargestellt und das Hinzufügen von 1 sollte es ändern

PHP-SPL-Datenstrukturen: Bringen Sie Geschwindigkeit und Flexibilität in Ihre Projekte PHP-SPL-Datenstrukturen: Bringen Sie Geschwindigkeit und Flexibilität in Ihre Projekte Feb 19, 2024 pm 11:00 PM

Überblick über die PHPSPL-Datenstrukturbibliothek Die PHPSPL-Datenstrukturbibliothek (Standard PHP Library) enthält eine Reihe von Klassen und Schnittstellen zum Speichern und Bearbeiten verschiedener Datenstrukturen. Zu diesen Datenstrukturen gehören Arrays, verknüpfte Listen, Stapel, Warteschlangen und Mengen, von denen jede einen bestimmten Satz von Methoden und Eigenschaften zum Bearbeiten von Daten bereitstellt. Arrays In PHP ist ein Array eine geordnete Sammlung, die eine Folge von Elementen speichert. Die SPL-Array-Klasse bietet erweiterte Funktionen für native PHP-Arrays, einschließlich Sortierung, Filterung und Zuordnung. Hier ist ein Beispiel für die Verwendung der SPL-Array-Klasse: useSplArrayObject;$array=newArrayObject(["foo","bar","baz"]);$array

Vergleich der zeitlichen Komplexität des Algorithmus von PHP-Arrays und verknüpften Listen Vergleich der zeitlichen Komplexität des Algorithmus von PHP-Arrays und verknüpften Listen May 07, 2024 pm 01:54 PM

Vergleich der Algorithmuszeitkomplexität von Arrays und verknüpften Listen: Zugriff auf Arrays O(1), verknüpfte Listen O(n); Einfügen von Arrays O(1), verknüpfte Listen Löschen von Arrays O(1). ), verknüpfte Listen O(n) (n); Sucharray O(n), verknüpfte Liste O(n).

Wie implementiert man die Funktionen zum Kopieren und Ausschneiden von Knoten von Mind Maps über Vue und jsmind? Wie implementiert man die Funktionen zum Kopieren und Ausschneiden von Knoten von Mind Maps über Vue und jsmind? Aug 15, 2023 pm 05:57 PM

Wie implementiert man die Funktionen zum Kopieren und Ausschneiden von Knoten von Mind Maps über Vue und jsmind? Mindmap ist ein gängiges Denkwerkzeug, das uns helfen kann, unsere Gedanken zu ordnen und unsere Denklogik zu ordnen. Die Funktionen zum Kopieren und Ausschneiden von Knoten sind häufig verwendete Vorgänge in Mind Maps, mit denen wir vorhandene Knoten bequemer wiederverwenden und die Effizienz der Denkorganisation verbessern können. In diesem Artikel werden wir die beiden Tools Vue und jsmind verwenden, um die Funktionen zum Kopieren und Ausschneiden von Knoten der Mind Map zu implementieren. Zuerst müssen wir Vue und jsmind installieren und erstellen

PHP-Datenstruktur: Der Charme verknüpfter Listen, Erkundung der dynamischen Datenorganisation PHP-Datenstruktur: Der Charme verknüpfter Listen, Erkundung der dynamischen Datenorganisation Jun 04, 2024 pm 12:53 PM

Eine verknüpfte Liste ist eine Datenstruktur, die eine Reihe von Knoten mit Daten und Zeigern zum Organisieren von Elementen verwendet und sich besonders für die Verarbeitung großer Datensätze und häufige Einfüge-/Löschvorgänge eignet. Zu seinen Grundkomponenten gehören Knoten (Daten und Zeiger auf den nächsten Knoten) und Kopfknoten (die auf den ersten Knoten in der verknüpften Liste zeigen). Zu den gängigen verknüpften Listenoperationen gehören: Hinzufügen (Endeinfügung), Löschen (spezifischer Wert) und Durchlaufen.

Python-Programm: Elemente an der ersten und letzten Position der verknüpften Liste hinzufügen Python-Programm: Elemente an der ersten und letzten Position der verknüpften Liste hinzufügen Aug 23, 2023 pm 11:17 PM

In Python ist eine verknüpfte Liste eine lineare Datenstruktur, die aus einer Folge von Knoten besteht, wobei jeder Knoten einen Wert und einen Verweis auf den nächsten Knoten in der verknüpften Liste enthält. In diesem Artikel besprechen wir, wie man in Python Elemente an der ersten und letzten Position einer verknüpften Liste hinzufügt. LinkedList inPython Eine verknüpfte Liste ist eine Referenzdatenstruktur, die zum Speichern einer Reihe von Elementen verwendet wird. In gewisser Weise ähnelt es einem Array, aber in einem Array werden die Daten an zusammenhängenden Speicherorten gespeichert, während in einer verknüpften Liste die Daten dieser Bedingung nicht unterliegen. Dies bedeutet, dass die Daten nicht sequentiell, sondern zufällig im Speicher abgelegt werden. Das wirft eine Frage auf: Wie können wir das erreichen?

See all articles