[算法][排序]插入排序

题目简介

过程图

在这里插入图片描述

思路

插入排序的思想:
把某个位置上的的数值,插入到它最合适的位置

说老实话,给我的感官非常像冒泡排序

题目代码

#include<iostream>

using namespace std;

const int N=1e5;
int n;
int a[N];

void insertSort()
{
    for(int i=0;i<n-1;i++)
        for(int j=i+1;j;j--)
            if(a[j]<a[j-1])swap(a[j],a[j-1]);
            else break;
}

int main()
{
    cin>>n;
    
    for(int i=0;i<n;i++)cin>>a[i];
    
    insertSort();
    
    for(int i=0;i<n;i++)cout<<a[i];
    
    return 0;
}

测试数据

500 
    218 97 78 13 7 259 14 90 86 460 72 134 458 2 245 490 126 33 355 171 166 433 16 74 436 167 5 296 350 148 146 279 230 467
    182 31 315 77 151 442 253 224 156 325 379 183 30 47 129 124 441 497 314 193 390 463 80 362 461 280 383 185 415 179 174
    234 214 1 199 244 249 398 473 136 394 349 369 63 83 356 440 363 219 484 330 425 465 176 125 269 289 312 162 451 480
    100 342 418 243 177 149 10 422 42 478 338 141 367 346 271 221 283 114 443 216 145 235 220 380 204 147 24 307 285 403
    175 256 477 305 165 416 420 255 227 211 427 370 223 195 9 69 264 35 17 38 384 56 329 300 246 178 203 39 471 55 46 
    103 263 455 231 487 445 188 268 482 58 294 257 449 391 500 392 479 261 492 96 267 88 116 494 206 43 262 71 180 120 
    142 351 29 340 130 310 57 431 226 276 6 437 187 447 270 345 66 374 210 133 348 215 242 419 469 435 37 331 84 59 28 
    117 430 426 488 222 399 452 448 273 158 150 170 40 110 217 229 232 76 303 382 241 275 108 366 409 499 26 311 302 
    486 91 347 334 94 358 491 196 107 360 401 292 191 4 297 475 378 298 236 389 22 359 233 163 212 92 53 288 472 476 
    327 153 278 99 483 115 143 407 205 344 498 316 132 8 190 181 113 160 317 410 48 60 105 127 239 250 400 70 213 377 
    154 474 319 322 495 44 397 62 313 411 393 164 496 111 51 291 429 172 470 168 54 157 225 208 20 328 417 106 324 135 
    489 240 326 64 265 404 450 318 98 444 237 308 104 352 155 438 396 152 293 25 371 68 408 432 112 301 73 11 128 354 
    251 254 87 434 247 34 332 252 192 258 323 412 341 12 385 45 65 228 357 466 281 49 194 284 137 406 372 485 454 123 
    36 169 209 41 140 353 299 375 402 320 121 459 457 138 75 421 144 274 339 93 207 197 82 61 200 287 364 102 266 50 
    260 343 373 81 456 198 202 173 388 85 282 23 290 386 333 446 424 189 462 95 468 286 335 361 295 321 368 186 413 101
    67 131 89 79 439 481 122 118 387 139 27 18 395 52 423 405 381 336 184 414 3 428 119 309 493 453 161 306 15 464 248 
    109 21 365 376 32 19 272 201 238 159 337 304 277

输出

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646
566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276
277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316
317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356
357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396
397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436
437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476
477478479480481482483484485486487488489490491492493494495496497498499500
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

俺叫西西弗斯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值