Rumah > pembangunan bahagian belakang > C++ > Produk nod senarai pautan tunggal

Produk nod senarai pautan tunggal

WBOY
Lepaskan: 2023-08-28 09:13:08
ke hadapan
635 orang telah melayarinya

Diberi n nod, tugasnya adalah untuk mencetak produk semua nod dalam senarai terpaut tunggal. Program mesti merentasi semua nod senarai terpaut sehala bermula dari nod awal sehingga NULL tidak ditemui.

Contoh

Input -: 1 2 3 4 5
Output -: 120
Salin selepas log masuk

Dalam contoh di atas, bermula dari nod pertama dan merentasi semua nod, iaitu 1, 2 3, 4, 5, 6, hasil darabnya ialah 1 *2*3*4*5*6 = 120

< p>Produk nod senarai pautan tunggal

Kaedah yang digunakan di bawah adalah seperti berikut

    #🎜🎜 # Dapatkan penunjuk sementara, seperti suhu jenis nod
  • Tetapkan penunjuk sementara ini kepada nod pertama yang ditunjuk oleh penuding kepala
  • Apabila suhu tidak NULL, gerakkan temp Pergi untuk temp->seterusnya.
  • Set Produk=produk*(temp->data)
Algoritma

H2>rreee#🎜🎜🎜🎜 🎜#
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 alternate nodes
   void product_nodes()
      declare int product=1
      Set temp=head
   Loop While temp!=NULL
      Set product=product * (temp->data)
      Set temp=temp->next
   End
   Print product
Step 5 -> in main()
   Create nodes using struct node* head = NULL;
   Call function insert(10) to insert a node
   Call display() to display the list
   Call product_nodes() to find alternate nodes product
Stop
Salin selepas log masuk
  • output

    #include<stdio.h>
    #include<stdlib.h>
    //structure of a node
    struct node{
       int data;
       struct node *next;
    }*head,*temp;
    //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;
       } else {
          temp->next=newnode;
          temp=temp->next;
       }
    }
    //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 product
    void product_nodes(){
       int product=1;
       temp=head;
       while(temp!=NULL){
          product=product * (temp->data);
          temp=temp->next;
       }
       printf("</p><p>product of nodes is : %d" ,product);
    }
    int main(){
       //creating list
       struct node* head = NULL;
       //inserting elements into a list
       insert(1);
       insert(2);
       insert(3);
       insert(4);
       insert(5);
       insert(6);
       //displaying the list
       printf("linked list is : ");
       display();
       //calling function for finding prodouct
       Product_nodes();
       return 0;
    }
    Salin selepas log masuk

    Atas ialah kandungan terperinci Produk nod senarai pautan tunggal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

  • Label berkaitan:
    sumber:tutorialspoint.com
    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
    Tutorial Popular
    Lagi>
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan