C++对10个数选择排序的2个问题分享

本文介绍了使用C++语言实现选择排序算法,对10个整数进行升序排序的过程,并输出排序后的结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++对10个数选择排序,升序输出

#include<stdio.h>

int main() {
  int a[10], i, j, k, t;

  //输入
  for(i = 0; i < 10 ; i++)
    scanf("%d", &a[i]);

  //选择法排序
  for(i = 0; i < 10 - 1; i++) {
    k = i;
    for(j = i + 1; j < 10; j++)
      if (a[k] > a[j])
        k = j;
    if(k != i) {
      t = a[i];
      a[i] = a[k];
      a[k] = t;
    }
  }

  //输出
  for(i = 0; i < 10; i++)
    printf("%d\n", a[i]);
}

问题:有一个排好序的字符数组;今输入一个字符,要求按原来排序的规律将它插入数组中?
答案:首先字符数组要有至少多一个空间,如果没有,新建字符数组;
原字符数组长度+1的位置赋值为'\0';
循环i,从原字符数组最后一个字符的下标开始向头部递减;
比对字符,如果新字符大于下标字符,直接把新字符放在下一个下标位置,break出循环;
否则复制当前下标字符到下一个下标位置;
循环。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值