์ƒˆ์†Œ์‹

Languages/C

Swapํ•จ์ˆ˜ ๊ธฐ๊ณ„์–ด(์–ด์…ˆ๋ธ”)๋กœ ํ•ด์„ํ•˜๊ธฐ

  • -
๋ฐ˜์‘ํ˜•

ํ”ํžˆ ์ž๋ฆฌ ๋ฐ”๊พธ๊ธฐ ํ•จ์ˆ˜๋ผ๊ณ  ํ•˜์ฃ .

Swapํ•จ์ˆ˜์˜ ์†Œ์Šค๋ฅผ ๊ธฐ๊ณ„์–ด๋กœ ๋ฒˆ์—ญํ•˜์—ฌ(์–ด์…ˆ๋ธ”) ํ•ด์„ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 


 

 

์–ด์…ˆ๋ธ”๋ฆฌ ์ฝ”๋“œ๋กœ ์†Œ์Šค ๊ณต๋ถ€๋ฅผ ํ•˜๋ฉด ์ข‹์€ ์ ์€,

 

๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 


1. ์–ด์…ˆ๋ธ”๋ฆฌ ๊ณต๋ถ€๊ฐ€ ๋œ๋‹ค.

2. C์–ธ์–ด ํ–ฅ์ƒ์— ๋„์›€์ด ๋˜๊ณ , ๊นŠ๊ฒŒ ๊ณต๋ถ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

3. ๋ณต์žกํ•˜๊ฒŒ ๊ธฐ๊ณ„์–ด๋กœ ๋ฐ”๋€Œ๋Š” ๋ถ€๋ถ„์„ ๋” ํšจ์œจ์ ์ธ ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

 

 

 

๋จผ์ € Swapํ•จ์ˆ˜ ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

#include<stdio.h>
//temp๋ฅผ ์ด์šฉํ•˜์—ฌ a์™€ b์˜ ๊ฐ’์„ ์„œ๋กœ ๋ฐ”๊พธ๊ธฐ

void Swap(int* pa, int* pb)
{
	int temp = *pa; // start(*pa) = 96, end(*pb)=5;
	*pa = *pb; //start(*pa) = 5, end(*pb)=5;
	*pb = temp; //start(*pa)= 5, end(*pb) = 96;

}

void main() {

	int start = 96, end = 5;

	printf("before : start = %d, end = %d\n", start, end);
	if (start > end) {
		Swap(&start, &end);//๊ฐ’์ด ์•„๋‹Œ ์ฃผ์†Œ๋ฅผ ๋ณด๋‚ด์ค€๋‹ค.
	}
	printf("after : start = %d, end = %d\n", start, end);
}

์œ„ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์–ด์…ˆ๋ธ”๋ฆฌ ๋ช…๋ น์œผ๋กœ ํ™•์ธํ•ด๋ณด์ž.

 

 

์–ด์…ˆ๋ธ”๋ฆฌ ๋ช…๋ น์–ด ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•

 

1. ์ฝ”๋“œ ์•ž์— ๋ธŒ๋ ˆ์ดํฌ ํฌ์ธํŠธ ๊ฑธ๊ธฐ.

2. ๋””๋ฒ„๊ทธ -> ๋””๋ฒ„๊น… ์‹œ์ž‘

3. ๋””๋ฒ„๊ทธ ํฌ์ธํŠธ๊ฐ€ ๊ฑธ๋ฆฐ๋‹ค.

4. ๋งˆ์šฐ์Šค ์šฐํด๋ฆญ -> ๋””์Šค์–ด์…ˆ๋ธ”๋กœ ์ด๋™

5. ์–ด์…ˆ๋ธ”๋ฆฌ ์†Œ์Šค ํ™•์ธ ๊ฐ€๋Šฅ

 

 

 

์•„๋ž˜๋Š” Swapํ•จ์ˆ˜ ๋ช…๋ น

 



 

mainํ•จ์ˆ˜

 

main๊ณผ swap์€ ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜๋„ ๋‹ค๋ฅด๊ณ  ๋‚ด์šฉ๋„ ๋‹ค๋ฅด๋‹ค.

์„œ๋กœ bp์™€ sp ๋ฅผ ์ด์šฉํ•˜์—ฌ ์œ„์น˜๋ฅผ ๋ณ€๊ฒฝํ•ด๊ฐ€๋ฉฐ ๊ฐ’์„ ์—ฐ์‚ฐํ•˜๊ณ  ์žˆ๋‹ค.

 

๋„ˆ๋ฌด 100%์™„๋ฒฝํžˆ ํ•ด์„ํ•˜๊ณ ์ž ํ•  ํ•„์š”๋Š” ์—†๊ณ ,

ํ๋ฆ„๊ณผ ๊ฐ ๊ฐ’์ด ๋“ค์–ด๊ฐ€๋Š” ๋ถ€๋ถ„์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ์ •๋„๋กœ ๊ณต๋ถ€ํ•ด๋„ ๊ดœ์ฐฎ์„ ๊ฒƒ ๊ฐ™๋‹ค.. (์ดˆ๋ณด์ž ์ž…์žฅ์—์„ !!)

 

์ž์„ธํžˆ ํ•ด์„ํ•ด๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด, ์–ด์…ˆ๋ธ”๋ฆฌ์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ์กฐ๊ธˆ ํ•„์š” ํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ ์•„๋ž˜ ๊ธ€์„ ์ฐธ๊ณ  ํ•˜๊ธธ ๋ฐ”๋ž€๋‹ค.

 

lucete1230-cyberpolice.tistory.com/category/%EC%96%B8%EC%96%B4%20%EA%B3%B5%EB%B6%80/%EC%96%B4%EC%85%88%EB%B8%94%EB%A6%AC%EC%96%B4

 

'์–ธ์–ด ๊ณต๋ถ€/์–ด์…ˆ๋ธ”๋ฆฌ์–ด' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก

๐Ÿ‘ธ๐Ÿป๐Ÿ’ซ

lucete1230-cyberpolice.tistory.com

 

๋ฐ˜์‘ํ˜•
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.