기본적인 소트 소스 C/C++
- 최초 등록일
- 2009.10.25
- 최종 저작일
- 2009.06
- 압축파일
- 가격 1,000원
소개글
기본적인 소트인 insert, select, bubble, Marge, Quick, Heap 소트 소스and주석 입니다.
각 알고리즘의 속도를 비교하기 위해 샘플 데이터 파일 제공합니다.
각 소트 후 소팅이 되는 시간이 측정됩니다.
비주얼 C++로 짜여졌습니다.
컴파일 실행환경
Visual C++ 6.0
본문내용
void Sort::swap(int &a,int &b){ //a와 b를 받아서 a b를 서로 바꿔줌
int c;
c=a;
a=b;
b=c;
}
void Sort::Fileread() //input파일 읽기
{
FILE *input; //input을 읽고 저장할 장소 만들기
data=(int *)malloc(200000*sizeof(int)); //데이터 뽐기 위해 메모리 할당하기 20000개 데이터
input = fopen("input.txt", "r"); //input.txt열기
int i;
for(i = 0; fscanf(input,"%d",&data[i])!=EOF; i++){}//input.txt읽기//읽어서 data배열에 저장
datanumber=i; //data의 개수를 넣기
fclose(input);//파일 닫기
}
void Sort::Filewrite() //result.txt파일 쓰기
{
FILE *result;
int i;
result = fopen("result.txt", "a"); //result.txt파일 열기
for(i=0;i!=datanumber;i++){
fprintf(result,"n%d",data[i]); //파일에 쓰기
}
fclose(result);//파일 닫기
}
void Sort::Insertion()//삽입 소트
{
int i,j,key;
for(j=1;j!=datanumber;j++){//j전 까지는 sort가 되어 있음 //j를 1부터 끝까지 loop돌림
key=data[j]; //비교할 값에 data[j] 를 넣음
i=j-1;
while(i>=0&&data[i]>key){ // j-1에서i까지는 key값과 비교를 함
data[i+1]=data[i]; //데이터 밀기~
i--;
}
data[i+1]=key; //맞는 장소가 있을때 key값 넣기
}
}
압축파일 내 파일목록
input.txt
inverse sortingdata.txt
main.cpp
random data.txt
result.txt
sort.cpp
sort.h
sorting data.txt
Source.dsp
Source.dsw
Source.exe
Source.ncb
Source.opt
Source.plg
Debug/main.obj
Debug/sort.obj
Debug/sort.obj.enc
Debug/Source.exe
Debug/Source.ilk
Debug/Source.pch
Debug/Source.pdb
Debug/vc60.idb
Debug/vc60.pdb
참고 자료
없음