몇 가지 일반적인 정렬 방법 (C 언어 구현)
18865 단어 C 언어
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
//
void InsertSort(int arry[], int n)
{
int i, j;
int temp;//
for (i = 1; i < n; i++)
{
temp = arry[i];
for (j = i - 1; j >= 0; j--)
{
if (temp > arry[j])
break;
else
arry[j + 1] = arry[j];
}
arry[j+1] = temp;
}
}
//
void SelectSort(int arry[], int n)
{
int i, j;
int temp;
for (i = 0; i < n-1; i++)
{
temp = i;
for (j = i + 1; j < n; j++)
{
if (arry[j] < arry[temp])
temp = j;
}
if(temp!=i)
arry[temp] ^= arry[i] ^= arry[temp] ^= arry[i];// arry[temp] arry[i]
}
}
//
void BubbleSort(int arry[], int n)
{
int i, j, k;
for (i = 0; i < n-1; i++)
{
for (j = i; j < n; j++)
{
if (arry[j - 1]>arry[j])
arry[j - 1] ^= arry[j] ^= arry[j - 1] ^= arry[j];// arry[temp] arry[i]
}
}
}
// ,
void ShellSort1(int arry[], int n)
{
int i, j, k, gap,temp;
for (gap = n / 2; gap > 0; gap /= 2)
{
for (k = 0; k < gap; k++)//
{
for (i = k+gap; i < n; i += gap)
{
temp = arry[i];
for (j = i - gap; j >= 0; j -= gap)
{
if (temp > arry[j])
break;
else
arry[j + gap] = arry[j];
}
arry[j + gap] = temp;
}
}
}
}
//
void ShellSort2(int arry[], int n)
{
int i, j, k, gap, temp;
for (gap = n / 2; gap > 0; gap /= 2)
{
for (i = gap; i < n; i++)//
{
temp = arry[i];
for (j = i - gap; j >= 0; j -= gap)
{
if (temp > arry[j])
break;
else
arry[j + gap] = arry[j];
}
arry[j + gap] = temp;
}
}
}
// , gap
void ShellSort3(int arry[], int n)
{
int i, j, k, gap, temp;
for (gap = n / 2; gap > 0; gap /= 2)
{
for (k = 0; k < gap; k++)
{
for (i = k; i < n-gap; i += gap)
{
for (j = k+gap; j <n ; j += gap)
{
if (arry[j - gap]>arry[j])
arry[j - gap] ^= arry[j] ^= arry[j - gap] ^= arry[j];
}
}
}
}
}
// ,
void QuickSort(int arry[], int s,int t)
{
int i, j;
if (s < t)
{
i = s;
j = t+1;
while (1)
{
do
{
i++;
}while (!(arry[s] <= arry[i] || i >= t));
do
{
j--;
} while (!(arry[s] >= arry[j] || j <= s));
if (i < j)
arry[i] ^= arry[j] ^= arry[i] ^= arry[j];
else
break;
}
if (arry[j]!= arry[s])
arry[j] ^= arry[s] ^= arry[j] ^= arry[s];
QuickSort(arry, s, j-1);
QuickSort(arry, j + 1, t);
}
}
int main()
{
int arry1[15] = { 19,15,13,10,3,30,23,76,5,16,7,30,32,2,41};
int arry2[15] = { 19,15,13,10,3,30,23,76,5,16,7,30,32,2,41 };
int arry3[15] = { 19,15,13,10,3,30,23,76,5,16,7,30,32,2,41 };
int arry4[15] = { 19,15,13,10,3,30,23,76,5,16,7,30,32,2,41 };
int arry5[15] = { 19,15,13,10,3,30,23,76,5,16,7,30,32,2,41 };
int arry6[15] = { 19,15,13,10,3,30,23,76,5,16,7,30,32,2,41 };
int arry7[15] = { 19,15,13,10,3,30,23,76,5,16,7,30,32,2,41 };
// ,
// : > > ==
// 。
//InsertSort(arry1, 15);
//SelectSort(arry2, 15);
//BubbleSort(arry3, 15);
//ShellSort1(arry4, 15);
//ShellSort2(arry5, 15);
//ShellSort2(arry6, 15);
//QuickSort(arry7,0,14);
int i = 0;
for (i = 0; i < 15; i++)
{
printf("%d ", arry7[i]);
}
system("pause");
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 언어 체인 시계는 뱀을 탐식하는 작은 게임을 실현한다본고의 실례는 여러분에게 C 언어 체인표가 뱀 탐식 게임을 실현하는 구체적인 코드를 공유하여 참고하도록 하였으며, 구체적인 내용은 다음과 같다. 프로젝트 이름: 뱀놀이 운영 환경: Linux 프로그래밍 언어: C 언...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.