/*交换两个数*/
void Swap(int &a, int &b)
{
int tmp
tmp = a
a = b
b = tmp
}
/*输出一行十个数字*/
void Write(int array[], int begin, int end)
{
for(int i = begini <= endi ++)
// cout <<array[i] <<" "
printf("%d ",array[i])
printf("\n")
// cout <<endl
}
/*插入排序*/
void InsertionSort(int array[], int begin, int end)
{
int i, j
int tmp
for(i = begin+1i <= endi ++) /*循环几次就输出几行*/
{
tmp = array[i]
for(j = i-1j >= beginj --)
{
if(tmp >array[j]) /*如果要从小到大排序,则改将'>'改为'<'*/
array[j + 1] = array[j]
else
break
}
array[j+1] = tmp
Write(array, begin, end)/*输出排序结果(一行)*/
}
}
/*选择排序*/
void SelectionSort(int array[], int begin, int end)
{
int i, j
int position
for(i = begini <endi ++)
{
for(j = i+1, position = ij <= endj ++)
{
if(array[j] >array[position]) /*如果要从小到大排序,则改将'>'改为'<'*/
position = j
}
Swap(array[i], array[position])
Write(array, begin, end)
}
}
/*冒泡排序*/
void BubbleSort(int array[], int begin, int end)
{
int i, j
for(i = begini <endi ++)
{
for(j = beginj <= end - begin -1j ++)
{
if(array[j+1] >array[j]) /*如果要从小到大排序,则改将'>'改为'<'*/
Swap(array[j], array[j+1])
}
Write(array, begin, end)
}
}
/*将原始数组拷贝到要排序的数组,因为有3个排序方法,所以必须保留原始数组,以备其他调用*/
bool Copy(int array1[], int array2[], int n1, int n2)
{
if(n1 != n2)
return false
else
{
for(int i = 0i <n1i ++)
{
array1[i] = array2[i]
}
return true
}
}
/*主函数*/
void main()
{
/*如果需要输入排序的个数不是10个数,可以将3个地方的10改为你要的个数就可以了*/
int number, i/*定义2个整型变量*/
int initinal[10], sort[10]/*定义2个数组,第一个是保存输入的10个数,第2个是用来排序的数组*/
printf("请输入十个要排序的数字:\n")
number = 10 /*排序个数是10个*/
for(i = 0i <numberi ++)
scanf("%d",&initinal[i])
printf("从大到小插入排序:\n")
Write(initinal, 0, number-1)/*输出原始十个数据*/
Copy(sort,initinal,number, number)/*将原始数组拷贝到排序数组*/
InsertionSort(sort,0,number-1)/*调用排序函数*/
printf("从大到小选择排序:\n")
Write(initinal, 0, number-1)
Copy(sort,initinal,number, number)
SelectionSort(sort,0,number-1)
printf("从大到小冒泡排序:\n")
Write(initinal, 0, number-1)
Copy(sort,initinal,number, number)
BubbleSort(sort,0,number-1)
}
小程序在支持JavaScript语言的环境中写算法,可以使用一些比较流行的编程语言或脚本语言,如JavaScript、PHP、Python等。在编写小程序算法时,要注意小程序的性能和体积,让用户能够快速加载和使用小程序。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)