C++中的字符串排序(冒泡与选择)

C++中的字符串排序(冒泡与选择),c++,sorting,bubble-sort,selection-sort,C++,Sorting,Bubble Sort,Selection Sort,这是我的整数排序代码。它包含两个函数,一个是冒泡排序,另一个是选择排序。是否有一种基本的方法将它们转换为字符串排序函数?谢谢 #include <iostream> #include <string> using namespace std; void bubbleSort(int array[], int size){ bool swap; int temp; do{ swap = false; for (int count = 0; count &

这是我的整数排序代码。它包含两个函数,一个是冒泡排序,另一个是选择排序。是否有一种基本的方法将它们转换为字符串排序函数?谢谢

#include <iostream>
#include <string>
using namespace std;

void bubbleSort(int array[], int size){
bool swap;
int temp;

do{
    swap = false;
    for (int count = 0; count < (size - 1); count++){
        if (array[count] > array[count + 1]){
            temp = array[count];
            array[count] = array[count + 1];
            array[count + 1] = temp;
            swap = true;
        }
    }
}while (swap);
}

void selectionSort(int array[], int size){
int startScan, minIndex, minValue;

for (startScan = 0; startScan < (size - 1); startScan++){
    minIndex = startScan;
    minValue = array[startScan];
    for (int index = startScan + 1; index < size; index++){
        if (array[index] < minValue){
            minValue = array[index];
            minIndex = index;
        }
    }
    array[minIndex] = array[startScan];
    array[startScan] = minValue;
}
}

int main(){
int str[5] = {5, 3, 1, 7, 8};

bubbleSort(str, 5);

selectionSort(str, 5);
}

是的。这很容易。也许你听说过函数char*ptr1,char*ptr2

它逐字符比较字符串字符,并返回:

0-如果字符串相等

0不匹配的第一个字符在ptr1中的值大于在ptr2中的值

因此,您需要将此数组[count]>array[count+1]替换为此strComparray[count],array[count+1]>0。假设你的数组是char*array[]。否则,它将无法正常工作