dzungchaos

C++ "Danh sách liên kết đơn"

Nov 6th, 2019
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.96 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. typedef struct Node {
  4.     int data;
  5.     Node *next;
  6. } Node;
  7.  
  8. Node *head = NULL;
  9.  
  10. Node* creatNode(int val){
  11.     Node* temp;
  12.     temp = new Node;
  13.     //temp = malloc(sizeof(Node));
  14.     temp->data = val;
  15.     temp->next = NULL;
  16. //  cout << temp->data << endl;
  17.     return temp;
  18. }
  19.  
  20. Node* AddHead(int val){
  21.     Node* new_node = creatNode(val);
  22.     if (head == NULL){
  23.         head = new_node;
  24.     } else {
  25.         new_node->next = head;
  26.         head = new_node;       
  27.     }
  28. }
  29.  
  30. void print_llist(){
  31.     Node* p = head;
  32.     while(p != NULL){
  33.         cout << p->data << " ";
  34.         p = p->next;
  35.     }
  36. }
  37.  
  38. int findNode(int val){
  39.     Node *currentNode = head;
  40.     int currentIndex = 1;
  41.     while (currentNode && currentNode -> data != val) {
  42.         currentNode = currentNode -> next;
  43.         currentIndex++;
  44.     }
  45.     if (currentNode) {
  46.         return currentIndex;
  47.     } else return 0;
  48. }
  49.  
  50. int main(){
  51.     for(int i = 0; i < 10; i++){
  52.         AddHead(i*i);
  53.     }
  54.     print_llist();
  55.     cout << endl << findNode(64);
  56.     return 0;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment