c - 如何使用 if 语句在 C 中编写 3 个整数升序算法?
问题描述
我试图找出一种方法,将按任何给定顺序输入的 3 个数字排序为家庭作业的升序。到目前为止,我想出了这个。
if(*p1 > *p3){
*p3 = *p1;
}
if(*p1 > *p2){
*p2 = *p1;
}
if(*p2 > *p3){
*p3 = *p2;
}
我应该在其中添加一个临时变量来移动它吗?
解决方案
交换两个变量的惯用方法确实是添加一个temp
变量:
void swap(T *a, T *b)
{
T temp = *a;
*a = *b;
*b = temp;
}
现在,要将三个值按升序排序,完全成熟的排序算法确实是矫枉过正。你可以通过一些比较和swap
s 来做到这一点。
推荐阅读
- html - 睡眠模式打开播放 HTML5 视频
- ruby-on-rails - 如何使用强参数等查询参数?
- python - python2支持结束后我可以拉python2包吗
- r - 使用 plotly / dygraphs 在闪亮中创建动态图形
- python - BayesianModel 的变量消除 inference.map_query 错误
- c# - .net core 3 按区域性更改控制器名称、操作名称和域名
- javascript - 我对 API 的调用没有更新 React 状态
- laravel - 在 laravel 中过滤 eloquent 模型
- php - PHP会话被视为局部变量
- routing - 将拥抱服务器中的参数作为 /foo/something 在双数函数中传递