Programa C++ para fusionar 3 arrays ordenadas

Dadas 3 arrays (A, B, C) que están ordenadas en orden ascendente, debemos fusionarlas en orden ascendente y generar la array D.  Ejemplos:  Input : A = [1, 2, 3, 4, 5] B = [2, 3, 4] C = [4, 5, 6, 7] Output : D = [1, 2, 2, 3, 3, 4, 4, 4, … Continue reading «Programa C++ para fusionar 3 arrays ordenadas»

Programa C++ para QuickSort en lista doblemente enlazada

A continuación se muestra una implementación recursiva típica de QuickSort para arreglos. La implementación usa el último elemento como pivote.  C++ /* A typical recursive implementation of Quicksort for array*/    /* This function takes last element as pivot, places the pivot element at its    correct position in sorted array, and places all smaller (smaller … Continue reading «Programa C++ para QuickSort en lista doblemente enlazada»

Programa en C++ para la división alterna de una lista dada con enlace único: conjunto 1

Escriba una función AlternatingSplit() que tome una lista y divida sus Nodes para hacer dos listas más pequeñas ‘a’ y ‘b’. Las sublistas deben estar hechas de elementos alternos en la lista original. Entonces, si la lista original es 0->1->0->1->0->1, entonces una sublista debería ser 0->0->0 y la otra debería ser 1->1->1. Método 1 (simple):  … Continue reading «Programa en C++ para la división alterna de una lista dada con enlace único: conjunto 1»

El programa C++ para verificar la lista vinculada con un bucle es palíndromo o no

Dada una lista enlazada con un bucle, la tarea es encontrar si es palíndromo o no. No se le permite eliminar el bucle.   Ejemplos:   Input: 1 -> 2 -> 3 -> 2 /| |/ ——- 1 Output: Palindrome Linked list is 1 2 3 2 1 which is a palindrome. Input: 1 -> 2 -> … Continue reading «El programa C++ para verificar la lista vinculada con un bucle es palíndromo o no»

Programa C++ para encontrar la diferencia entre las sumas de dos diagonales

Dada una array de n X n . La tarea es calcular la diferencia absoluta entre las sumas de su diagonal. Ejemplos:   Input : mat[][] = 11 2 4 4 5 6 10 8 -12 Output : 15 Sum of primary diagonal = 11 + 5 + (-12) = 4. Sum of primary diagonal = … Continue reading «Programa C++ para encontrar la diferencia entre las sumas de dos diagonales»

Programa C++ para insertar un Node en una lista enlazada

Hemos introducido listas enlazadas en la publicación anterior . También creamos una lista enlazada simple con 3 Nodes y discutimos el recorrido de la lista enlazada. Todos los programas discutidos en esta publicación consideran las siguientes representaciones de la lista enlazada.  C++ // A linked list node  class Node  {      public:     int data;      Node *next;  … Continue reading «Programa C++ para insertar un Node en una lista enlazada»

Programa C++ para el algoritmo de inversión para la rotación de arrays

Escribe una función rotar(arr[], d, n) que gire arr[] de tamaño n por d elementos. Ejemplo :  Input : arr[] = [1, 2, 3, 4, 5, 6, 7] d = 2 Output : arr[] = [3, 4, 5, 6, 7, 1, 2] La rotación de la array anterior por 2 hará que la array  Los primeros … Continue reading «Programa C++ para el algoritmo de inversión para la rotación de arrays»

Programa C++ para fusionar tipos de listas enlazadas

A menudo se prefiere la ordenación por combinación para ordenar una lista vinculada. El lento rendimiento de acceso aleatorio de una lista enlazada hace que algunos otros algoritmos (como la ordenación rápida) funcionen mal y otros (como la ordenación heap) sean completamente imposibles.  Deje que head sea el primer Node de la lista enlazada que … Continue reading «Programa C++ para fusionar tipos de listas enlazadas»

Programa C++ para ordenar una array de 0s, 1s y 2s

Dada una array A[] que consta de 0, 1 y 2. La tarea es escribir una función que ordene la array dada. Las funciones deben poner todos los 0 primero, luego todos los 1 y todos los 2 al final. Ejemplos: Input: {0, 1, 2, 0, 1, 2} Output: {0, 0, 1, 1, 2, 2} … Continue reading «Programa C++ para ordenar una array de 0s, 1s y 2s»