用指向指针的指针的方法对5个字符串排序并输出的代码
时间: 2023-09-03 17:25:00 浏览: 122
用指针实现的排序算法
### 回答1:
可以使用以下代码:char *str[5];
int i, j;
char *temp;// 对字符串排序
for (i = 0; i < 5; i++)
{
for (j = i + 1; j < 5; j++)
{
if (strcmp(str[i], str[j]) > 0)
{
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
}// 输出排序后的字符串
for (i = 0; i < 5; i++)
{
printf("%s\n", str[i]);
}
### 回答2:
以下是一个使用指向指针的指针对5个字符串进行排序并输出的示例代码:
```c
#include <stdio.h>
void sortStrings(char** strings, int numStrings) {
int i, j;
char* temp;
for (i = 0; i < numStrings - 1; i++) {
for (j = i + 1; j < numStrings; j++) {
if (strcmp(strings[i], strings[j]) > 0) {
// 交换两个字符串的指针
temp = strings[i];
strings[i] = strings[j];
strings[j] = temp;
}
}
}
}
int main() {
char* strings[] = {"hello", "world", "apple", "banana", "cat"};
int numStrings = sizeof(strings) / sizeof(strings[0]);
sortStrings(strings, numStrings);
printf("排序后的字符串:\n");
for (int i = 0; i < numStrings; i++) {
printf("%s\n", strings[i]);
}
return 0;
}
```
在这个示例代码中,我们首先定义了一个字符串指针数组`strings`,其中存储了5个字符串常量的地址。然后,我们通过`sortStrings`函数对这些字符串进行排序。`sortStrings`函数使用了指向指针的指针`char**`作为参数,以便能够直接修改字符串指针数组中各个指针的值。在函数内部,我们使用了冒泡排序算法对字符串指针数组进行排序。具体来说,我们依次比较相邻的两个字符串,如果前一个字符串大于后一个字符串,就交换它们的指针。这样,经过多轮比较和交换,就可以将字符串按字母顺序排列。最后,我们在`main`函数中调用`sortStrings`函数,并通过循环遍历输出排序后的字符串数组。
上述代码执行后的输出结果为:
```
排序后的字符串:
apple
banana
cat
hello
world
```
这个结果是按照字母顺序对字符串进行排序后的输出。
### 回答3:
下面是使用指向指针的指针来对5个字符串进行排序并输出的代码:
```c++
#include <iostream>
#include <string>
using namespace std;
void sortStrings(string** strArray, int size) {
for (int i = 0; i < size - 1; i++) {
for (int j = 0; j < size - i - 1; j++) {
if (*strArray[j] > *strArray[j + 1]) {
string* temp = strArray[j];
strArray[j] = strArray[j + 1];
strArray[j + 1] = temp;
}
}
}
}
int main() {
const int size = 5;
string* strArray[size];
cout << "请输入5个字符串:" << endl;
for (int i = 0; i < size; i++) {
string str;
cin >> str;
strArray[i] = &str;
}
sortStrings(strArray, size);
cout << "排序后的字符串为:" << endl;
for (int i = 0; i < size; i++) {
cout << *strArray[i] << endl;
}
return 0;
}
```
在这个代码中,我们定义了一个名为`strArray`的指向指针的指针数组,由于指针本身不能存储字符串,所以我们需要使用指针的指针,通过它来指向真正的字符串对象。
首先,我们使用`cin`输入5个字符串,分别将它们存储到`strArray`中的不同指针位置,每个位置存储的是指向相应字符串的指针。
然后,我们调用`sortStrings`函数来对`strArray`中的指针进行排序。排序采用冒泡排序算法,通过比较指针指向的字符串来完成排序。
最后,我们通过输出`strArray`中各指针所指向的字符串,来输出排序后的字符串序列。
阅读全文