c++ - 我想在字母而不是数字中使用(排序插入),但我不明白如何
问题描述
我想在字母而不是数字中使用(排序插入),但我不明白我是如何使用(插入排序数组)编写这段代码的。
#include <bits/stdc++.h>
using namespace std;
void insertionSort(int arr[], int n)
{
int i, key, j;
for (i = 1; n - 1; i++)
{
key = arr[i];
j = i - 1;
while (j >= 0 && arr[j] > key)
{
arr[j + 1] = arr[j];
j = j - 1;
}
arr[j + 1] = key;
}
}
void printArray(int arr[], int n)
{
int i;
for (i = 0; i < n; i++)
cout << arr[i] << " ";
cout << endl;
}
但是这里有个错误
int main()
{
char s[] = { "Q, R, Y, M, N, L, O" };
int n = sizeof(arr) / sizeof(arr[0]);
insertionSort(arr, n);
printArray(arr, n);
return 0;
}
解决方案
您的字符数组已命名s
,但您尝试计算其长度,假设数组名称为arr
修复数组名称:
int main()
{
char arr[] = { "Q, R, Y, M, N, L, O" };
int n = sizeof(arr) / sizeof(arr[0]);
insertionSort(arr, n);
printArray(arr, n);
return 0;
}
推荐阅读
- r - R Studio中按字母顺序排列的总和列
- python-3.x - 如何在 Keras 自定义训练循环中跟踪权重和梯度
- reactjs - React Hook 模式提示
- php - 我们如何使用简码显示当前用户显示名称?
- c# - 等待多行控制台输入完成 c#
- python - 如何将饼图添加到破折号 - plotly
- postgresql - 使用 debezium 链接 postgresql 11 无法获取数据库测试的编码
- google-apps-script - 从 Appscript 中的另一个 url 获取数据
- typescript - 如何在打字稿中重建文字字符串键
- visual-studio-code - VS code Live Server Web Extension服务器端口8080问题