Advertisement
llvlleo1810

sắp xếp danh sách liên kết đơn

Apr 17th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.13 KB | None | 0 0
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. struct Node{
  5.  int data;
  6.  Node *next;
  7. };
  8.  
  9.  
  10. Node * dau;
  11. Node * cuoi;
  12.  
  13. void khoitao(){
  14.  dau = cuoi = NULL;
  15. }
  16.  
  17. void themcuoi(Node * node){
  18.  if(dau == NULL){
  19.   dau = cuoi = node;
  20.  }
  21.  else{
  22.  cuoi -> next = node;
  23.  cuoi = node;
  24. }
  25. }
  26.  
  27. Node *getNode(int x){
  28.  Node *p = new Node();
  29.  p -> data = x;
  30.  p ->next = NULL;
  31.  return p;
  32. }
  33.  
  34. void input(){
  35.  int n;
  36.  cout << "nhap so node ";
  37.  cin >> n;
  38.  khoitao();
  39.  for(int i = 1; i <= n; i++){
  40.   int x;
  41.   cout << "nhap vao data: ";
  42.   cin >> x;
  43.   Node *p = getNode(x);
  44.   themcuoi(p);
  45.  }
  46. }
  47.  
  48. void in(){
  49.  Node *p = dau;
  50.  cout << endl;
  51.  while( p != NULL){
  52.   cout << p -> data << " ";
  53.   p = p -> next;
  54.  }
  55. }
  56.  
  57. void hoanvi(int &a, int &b){
  58.  int tmp = a;
  59.   a = b;
  60.   b = tmp;
  61. }
  62.  
  63. void sapxep(){
  64.  for( Node *p = dau ; p != cuoi; p = p -> next){
  65.   for(Node *q = p ->next; q != NULL; q = q -> next){
  66.    if(p -> data > q -> data){
  67.     hoanvi(p -> data, q -> data);
  68.    }
  69.   }
  70.  }
  71. }
  72.  
  73.  
  74. int main(){
  75.  
  76.  input();
  77.  cout << "danh sach lien ket la: ";
  78.  print();
  79.  cout << endl << "danh sach sau sap xep la: ";
  80.  sapxep();
  81.  print();
  82.  
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement