Lenguaje C: pensando en el algoritmo de clasificación de cadenas

Requisitos:

  • De acuerdo con el primer carácter de la cadena, ordene el
    árbol de estudiantes abeja nueva en el orden de az => abeja árbol de estudiantes nuevo
  • Use tres métodos para comparar las primeras letras de dos cadenas:
    1 juicio de matriz
    2 juicio de puntero
    3 juicio mixto

Parte pública :

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int main()
{
	char* arr[] = { "cshdf", "ehsdhf", "bjhdjfhd","abee" };
	bubble(arr, 4);
	for (int i = 0; i < 4; i++)
	{
		printf("%s\n", arr[i]);
	}
	system("pause");
	return EXIT_SUCCESS;
}

Sección de funciones

Juicio de matriz:

void bubble(char ** arr,int len)
{
	for (int i = 0; i < len - 1; i++)
	{
		for (int j = 0; j < len - i - 1; j++)
		{
		if (arr[j][0] > arr[j+1][0])
			{
				char * temp = arr[j];
				arr[j] = arr[j+1];
				arr[j + 1] = temp;
			}
		}

Juicio puntero :

void bubble(char ** arr,int len)
{
	for (int i = 0; i < len - 1; i++)
	{
		for (int j = 0; j < len - i - 1; j++)
		{
		if (**(arr + j) < **(arr + j + 1))
			{
				char * temp = *(arr+j);
				*(arr + j) = *(arr + j + 1);
				*(arr + j + 1) = temp;
			}
		}

Juicio mixto:

void bubble(char ** arr,int len)
{
	for (int i = 0; i < len - 1; i++)
	{
		for (int j = 0; j < len - i - 1; j++)
		{
		if (*arr[j] > *arr[j + 1])
			{
				char * temp = arr[j];
				arr[j] = arr[j+1];
				arr[j + 1] = temp;
			}
		}

Análisis de código:

Primero entiendes cómo comparar cadenas? Nada más que comparar cadenasValor ASCII de la primera letraTamaño, entonces podemos pensar fácilmente en el algoritmo de clasificación de burbujas de la matriz de enteros que aprendimos, el proceso es: carácter => ASCLL => burbuja

Juicio de matriz:

char* arr[] = { "cshdf", "ehsdhf", "bjhdjfhd","abee" };

Puede considerarse como una matriz bidimensional, por ejemplo: arr [0] [0] = c;
Inserte la descripción de la imagen aquíjuicio del puntero :

Inserte la descripción de la imagen aquíJuicio mixto:
Inserte la descripción de la imagen aquí

28 artículos originales publicados · Me gusta7 · Visitas1170

Supongo que te gusta

Origin blog.csdn.net/haduwi/article/details/105455045
Recomendado
Clasificación