์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ
๋ฐฐ์ด ํ์ , ์ ์ ๋ฐฐ์ด ๋ด์์ ํน์ ์์๋ฅผ ์ ํํ ์์น๋ก ์ด๋ํ๊ณ ์ถ์ ๋
Rainbow๐Coder
2021. 12. 15. 19:45
728x90
๋ฐฐ์ด ์ ๋ณด์ ์ธ๋ฑ์ค ์ ๋ณด๊ฐ ๋๊ฐ๊ฐ ํ์ํ๋ค.
ํน์ ์์์ ์๋ ์ธ๋ฑ์ค์ ์์๋ฅผ ๋ณด๋ด๊ณ ์ถ์ ์์น์ ์ธ๋ฑ์ค์ด๋ค.
๊ทธ๋ฆฌ๊ณ ๋ ์ธ๋ฑ์ค ์ฌ์ด๋ฅผ for๋ฌธ์ผ๋ก ๋๋ฉด์ ๋ฐฐ์ด์ ํ์นธ์ฉ ๋น๊ฒจ์ค์ผํ๋ ๋ค์ ๋ฒ๊ฑฐ๋ก์ด ์์ ์ด ํ์ํ๋ค.
<1>
์๋ ์ฝ๋๋ 8๋ฒ์งธ ์ซ์๋ฅผ 2๋ฒ์งธ ์์น๋ก ๋ณด๋ด๊ณ ์ถ๋ค๊ณ ๊ฐ์ ํ๊ณ ์์ฑํ ๊ฒ์ด๋ค.
#include <iostream>
#include <array>
using namespace std;
void ratate(array<int, 10>& arr, int wantPos, int target)
{
int last = arr[t];
for (int i = t; i > s; i--)
{
arr[i] = arr[i-1];
}
arr[s] = last;
}
int main() {
array<int, 10> arr = {1,2,3,4,5,6,7,8,9,10};
ratate(arr,2,8);
for (int i = 0; i < arr.size(); i++)
{
cout << arr[i] << '\t';
}
return 0;
}
์ถ๋ ฅ ๊ฒฐ๊ณผ
1 2 9 3 4 5 6 7 8 10
<2>
์๋ ์ฝ๋๋ 2๋ฒ์งธ ์ซ์๋ฅผ 8๋ฒ์งธ ์์น๋ก ๋ณด๋ด๊ณ ์ถ๋ค๊ณ ๊ฐ์ ํ๊ณ ์์ฑํ ๊ฒ์ด๋ค.
void ratate(array<int, 10>& arr, int wantPos, int target)
{
int first = arr[t];
for (int i = t; i < s; i++)
{
arr[i] = arr[i+1];
}
arr[s] = first;
}
int main() {
array<int, 10> arr = {1,2,3,4,5,6,7,8,9,10};
ratate(arr,8,2);
for (int i = 0; i < arr.size(); i++)
{
cout << arr[i] << '\t';
}
return 0;
}
์ถ๋ ฅ๊ฒฐ๊ณผ
1 2 4 5 6 7 8 9 3 10728x90