Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void fixUp(Item heap[], int k) { h(key, i) = (h'(key)+i2 ) % m.
- while (k > 1 // Item is not root h(key, i) = (h'(key) + i) % m,
- && heap[k/2] < heap[k]) { // while parent is less than child h(key, i) = (h'(key) + i(g(key)) % m,
- swap(heap[k], heap[k/2]; h’(key) = key % m
- k /= 2; // move up
- }
- }
- void fixDown(Item heap[], int heapsize, int k) {
- while (2 * k <= heapsize) {
- int j = 2 * k; // index of left child
- if (j < heapsize && heap[j] < heap[j + 1]) j++;
- if (heap[k] >= heap[j]) break;
- swap(heap[k], heap[j]);
- k = j;
- }
- }
- void pop_back(Node * & head){
- Node * p = head;
- if(p) {
- if(p->next) {
- while(p->next->next) p = p->next;
- delete p->next;
- p->next = NULL; }
- else {
- delete p;
- head = nullptr; }}}
-  
- void l_push_back(Node * & head, int v){
- Node * p, * e;
- e = new Node;
- e->next = NULL;
- e->data = v;
- p = head;
- if(p) {
- while(p->next) p = p->next;
- p->next = e; }
- else head = e;}
- void l_insert_before(Node * & head, Node * e, int v){
- Node * p = head;
- if(p == e) l_push_front(head,v);
- else {
- while(p->next != e) p = p->next;
- p->next = new slistEl;
- p->next->next = e;
- p->next->data = v;}}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement