검색결과 리스트
글
template <typename T>
void BubbleSort2(T arr[], const int size)
{
bool Sorted = true;
for (int i=size; i>0 && Sorted; i--)
{
Sorted = false;
for (int j=0; j<i; j++)
{
if (arr[j] < arr[j-1]) {
T t=arr[j];
arr[j]=arr[j-1];
arr[j-1]=t;
Sorted = true;
}
}
}
}
약간의 트릭을 더해서 만든 정렬이다.
정렬을 한뒤에는 true를 만들어서 그 j에 대해서는 더이성 정렬을 안한다.
정렬이 거의 된 배열에서는 일반 버블보다 월등히 빠른 속도를 보이며,
임의 배열에서는 많은 속도의 향상이 있고
역순배열에서도 약간 속도 향상이 있었다.
설정
트랙백
댓글
글
template <class T>
소개하자면,, 완전 노가다 알고리즘이다.
처음부터 끝까지 인접한 2개씩 비교하면서 서로 정렬하는거다,,,
조금 개선된 알고리즘도 있으니 좀있다 올리겠다.
void BubbleSort(T arr[], const int size)흠,,,, 뭔가 깨져서 옮겨진것 같지만,,,
{
for(int i=0; i<size-1; i++)
{
for(int j=0; j<size-1; j++)
{
if(arr[j]>arr[j+1])
{
T t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
}
}
}
}
소개하자면,, 완전 노가다 알고리즘이다.
처음부터 끝까지 인접한 2개씩 비교하면서 서로 정렬하는거다,,,
조금 개선된 알고리즘도 있으니 좀있다 올리겠다.
RECENT COMMENT