Рубрики

Программа для сортировки массива строк с использованием Selection Sort

По заданному массиву строк отсортируйте массив с помощью Selection Sort .

Примеры:

Input  : paper true soap floppy flower
Output : floppy, flower, paper, soap, true

Условие: выбор сортировки .

C ++

// C ++ программа для реализации сортировки выбора
// массив строк.
#include <bits/stdc++.h>
#include <string.h> 

using namespace std; 

#define MAX_LEN 100 

  
// Сортирует массив строк, где длина каждого
// строка должна быть меньше, чем MAX_LEN

void selectionSort(char arr[][MAX_LEN], int n) 

    int i, j, min_idx; 

  

    // Один за другим передвигаем границу несортированного подмассива

    char minStr[MAX_LEN]; 

    for (i = 0; i < n-1; i++) 

    

        // Находим минимальный элемент в несортированном массиве

        int min_idx = i; 

        strcpy(minStr, arr[i]); 

        for (j = i + 1; j < n; j++) 

        

            // Если min больше, чем arr [j]

            if (strcmp(minStr, arr[j]) > 0) 

            

                // Сделать arr [j] как minStr и обновить min_idx

                strcpy(minStr, arr[j]); 

                min_idx = j; 

            

        

  

        // Меняем найденный минимальный элемент на первый элемент

        if (min_idx != i) 

        

            char temp[MAX_LEN]; 

            strcpy(temp, arr[i]); // поменяйте местами элемент [pos] и item [i]

            strcpy(arr[i], arr[min_idx]); 

            strcpy(arr[min_idx], temp); 

        

    

  
// Код драйвера

int main() 

    char arr[][MAX_LEN] = {"GeeksforGeeks", "Practice.GeeksforGeeks"

                                                    "GeeksQuiz"}; 

    int n = sizeof(arr)/sizeof(arr[0]); 

    int i; 

  

    cout<<"Given array is\n"

    for (i = 0; i < n; i++) 

        cout << i << ": " << arr[i] << endl; 

  

    selectionSort(arr, n); 

  

    cout << "\nSorted array is\n"

    for (i = 0; i < n; i++) 

        cout << i << ": " << arr[i] << endl; 

  

    return 0; 

  
// Это код, предоставленный rathbhupendra

С

// C программа для реализации сортировки выбора
// массив строк.
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100

   
// Сортирует массив строк, где длина каждого
// строка должна быть меньше, чем MAX_LEN

void selectionSort(char arr[][MAX_LEN], int n)

{

    int i, j, min_idx;

   

    // Один за другим передвигаем границу несортированного подмассива

    char minStr[MAX_LEN];

    for (i = 0; i < n-1; i++)

    {

        // Находим минимальный элемент в несортированном массиве

        int min_idx = i;

        strcpy(minStr, arr[i]);

        for (j = i+1; j < n; j++)

        {

            // Если min больше, чем arr [j]

            if (strcmp(minStr, arr[j]) > 0)

            {

                // Сделать arr [j] как minStr и обновить min_idx

                strcpy(minStr, arr[j]);

                min_idx = j;

            }

        }

   

        // Меняем найденный минимальный элемент на первый элемент

        if (min_idx != i)

        {

            char temp[MAX_LEN];

            strcpy(temp, arr[i]); // поменяйте местами элемент [pos] и item [i]

            strcpy(arr[i], arr[min_idx]);

            strcpy(arr[min_idx], temp);

        }

    }

}

   
// Код драйвера

int main()

{

    char arr[][MAX_LEN] = {"GeeksforGeeks", "Practice.GeeksforGeeks",

                                                    "GeeksQuiz"};

    int n = sizeof(arr)/sizeof(arr[0]);

    int i;

   

    printf("Given array is\n");

    for (i = 0; i < n; i++)

        printf("%d: %s \n", i, arr[i]);

   

    selectionSort(arr, n);

   

    printf("\nSorted array is\n");

    for (i = 0; i < n; i++)

        printf("%d: %s \n", i, arr[i]);

   

    return 0;

}


Выход :

Given array is
0: GeeksforGeeks 
1: Practice.GeeksforGeeks 
2: GeeksQuiz 

Sorted array is
0: GeeksQuiz 
1: GeeksforGeeks 
2: Practice.GeeksforGeek

Эта статья предоставлена Нихилом Раватом . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Рекомендуемые посты:

Программа для сортировки массива строк с использованием Selection Sort

0.00 (0%) 0 votes