bubblesort
(t* d,
const
int n)
}}
selectsort
(t* d,
const
int n)
//直接插入排序
void
insertsort
(t* d,
const
int n)
d[k+1]
=a;//將無序序列第乙個資料置於有序序列中
}}
heapadjust
(t*d,
int left,
int right)
d[left]
=a;//根結點置於葉結點
}void
heapsort
(t* d,
const
int n)
}
void
shellsort
(t*d,
const
int n)
d[j+h]
=a;//將d[i]插到j+h的位置
} h=h/3;
}}
//歸併排序-非遞迴方式
void
mergesort
(t*d,
const
int n)
size*=2
;//序列長度增加一倍
} delete[
]w;}
//將序列[first,mid]和[mid+1,right]合併成乙個有序序列
void
merge
(t*d,t*w,
int left,
int mid,
int right)
}//將有序序列替換原有序列
for(
int k=left; k<=right; k++
)d[k]
=w[k]
;}
void
quicksort
(t*d,
const
int n)
if(jstack<0)
break
;//排序終止
right=istack[jstack--];
//子串行右結點
left=istack[jstack--];
//子串行左結點
}else
//快速排序
swap
(d[j]
,d[k]);
//基準數歸位
jstack+=2
;if(right-i+
1>=j-left)
else
//左序列長度大於右序列長度}}
}
七大排序演算法 c語言
氣泡排序 void bubblesort int arr,int len 插入排序 void insertsort int arr,int len 選擇排序 void selectsort int arr,int len shell排序 增量排序 void shellsort int arr,int...
10大排序演算法(C語言實現)
大一剛放寒假期間,回想一下馬上進入大學時的心情,記得在暑假時加了乙個學校acm戰隊的群,當時感覺很美好,想開學的時候努力一下進入校隊的acm。可是自己又特別喜歡滲透,於是就把acm這個想法放下了,這幾天把sqllabs幹完了,出於閒想看看演算法。記得當時寫c課設的時候,氣泡排序也把我整一段時間才迷糊...
十大排序之選擇排序 排序演算法 C語言實現
選擇排序 selection sort 是一種簡單直觀的排序演算法。它的工作原理是 第一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置,然後再從剩餘的未排序元素中尋找到最小 大 元素,然後放到已排序的序列的末尾。以此類推,直到全部待排序的資料元素的個數為零。選擇排序是不穩定...