// InsertionSort
#include <stdio.h>
#include <stdlib.h>
void printA(int a[], int n){
int i;
for(i=0;i<n;i++){
}
}
void swap(int* a, int* b){
int tmp;
tmp = *a;
*a = *b;
*b = tmp;
}
void InsertionSort(int a[], int n){
//ここを書く
int i,j,tmp;
for(i=1;i<n;i++){//a[0]は一番左の数だから1から。
tmp = a[i];//挿入する数を一時的に保存する。
j = i - 1;//すでに挿入済みの数を参照するため。
while( j >= 0 && a[j] > tmp ){
//tmpより大きい数が左にあるならそれらを右にずらしてtmpが入るスペースを作る。
a[j+1] = a[j];
j--;
//printA(a,n);
}
a[j+1] = tmp;
}
}
/*回答例
void InsertionSort(int a[], int n){
int i,j,tmp;
for(i=1;i<n;i++){//a[0]は一番左の数だから1から。
tmp = a[i];//挿入する数を一時的に保存する。
j = i - 1;//すでに挿入済みの数を参照するため。
while( j >= 0 && a[j] > tmp ){
a[j+1] = a[j];
j--;
}
a[j+1] = tmp;//j--した分1足してtmpを挿入
}
}
*/
int main(void){
int n,i;
int *v;
v
= (int*)malloc(sizeof(int)*n
); if(v==NULL){
return -1;
}
for(i=0;i<n;i++){
}
InsertionSort(v,n);https://w...content-available-to-author-only...b.com/#tab-stdin
printA(v,n);
return 0;
}
Ly8gSW5zZXJ0aW9uU29ydAoKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCnZvaWQgcHJpbnRBKGludCBhW10sIGludCBuKXsKICAgIGludCBpOwogICAgZm9yKGk9MDtpPG47aSsrKXsKICAgICAgICBwcmludGYoIiVkICIsYVtpXSk7CiAgICB9CiAgICBwcmludGYoIlxuIik7Cn0KCnZvaWQgc3dhcChpbnQqIGEsIGludCogYil7CiAgICBpbnQgIHRtcDsKICAgIHRtcCA9ICphOwogICAgKmEgPSAqYjsKICAgICpiID0gdG1wOwp9Cgp2b2lkIEluc2VydGlvblNvcnQoaW50IGFbXSwgaW50IG4pewoJLy/jgZPjgZPjgpLmm7jjgY8KICAgIGludCBpLGosdG1wOwogICAgZm9yKGk9MTtpPG47aSsrKXsvL2FbMF3jga/kuIDnlarlt6bjga7mlbDjgaDjgYvjgokx44GL44KJ44CCCiAgICAgICAgdG1wID0gYVtpXTsvL+aMv+WFpeOBmeOCi+aVsOOCkuS4gOaZgueahOOBq+S/neWtmOOBmeOCi+OAggogICAgICAgIGogPSBpIC0gMTsvL+OBmeOBp+OBq+aMv+WFpea4iOOBv+OBruaVsOOCkuWPgueFp+OBmeOCi+OBn+OCgeOAggogICAgICAgIHdoaWxlKCBqID49IDAgJiYgYVtqXSA+IHRtcCApewovL3RtcOOCiOOCiuWkp+OBjeOBhOaVsOOBjOW3puOBq+OBguOCi+OBquOCieOBneOCjOOCieOCkuWPs+OBq+OBmuOCieOBl+OBpnRtcOOBjOWFpeOCi+OCueODmuODvOOCueOCkuS9nOOCi+OAggogICAgICAgICAgICBhW2orMV0gPSBhW2pdOwogICAgICAgICAgICBqLS07CiAgICAgICAgICAgIC8vcHJpbnRBKGEsbik7CiAgICAgICAgfQogICAgICAgIGFbaisxXSA9IHRtcDsKICAgIH0KfQoKLyrlm57nrZTkvosKdm9pZCBJbnNlcnRpb25Tb3J0KGludCBhW10sIGludCBuKXsKICAgIGludCBpLGosdG1wOwogICAgZm9yKGk9MTtpPG47aSsrKXsvL2FbMF3jga/kuIDnlarlt6bjga7mlbDjgaDjgYvjgokx44GL44KJ44CCCiAgICAgICAgdG1wID0gYVtpXTsvL+aMv+WFpeOBmeOCi+aVsOOCkuS4gOaZgueahOOBq+S/neWtmOOBmeOCi+OAggogICAgICAgIGogPSBpIC0gMTsvL+OBmeOBp+OBq+aMv+WFpea4iOOBv+OBruaVsOOCkuWPgueFp+OBmeOCi+OBn+OCgeOAggogICAgICAgIHdoaWxlKCBqID49IDAgJiYgYVtqXSA+IHRtcCApewogICAgICAgICAgICBhW2orMV0gPSBhW2pdOwogICAgICAgICAgICBqLS07CiAgICAgICAgfQogICAgICAgIGFbaisxXSA9IHRtcDsvL2otLeOBl+OBn+WIhjHotrPjgZfjgaZ0bXDjgpLmjL/lhaUKICAgIH0KfQoqLwoKaW50IG1haW4odm9pZCl7CiAgICBpbnQgbixpOwogICAgaW50ICp2OwogICAgc2NhbmYoIiVkIiwmbik7CiAgICB2ID0gKGludCopbWFsbG9jKHNpemVvZihpbnQpKm4pOwogICAgaWYodj09TlVMTCl7CiAgICAgICAgcHJpbnRmKCJFUlJPUlxuIik7CiAgICAgICAgcmV0dXJuIC0xOwogICAgfQogICAgZm9yKGk9MDtpPG47aSsrKXsKICAgICAgICBzY2FuZigiJWQiLCZ2W2ldKTsKICAgIH0KICAgIEluc2VydGlvblNvcnQodixuKTtodHRwczovL3cuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmIuY29tLyN0YWItc3RkaW4KICAgIHByaW50QSh2LG4pOwogICAgZnJlZSh2KTsKICAgIHJldHVybiAwOwp9Cg==