帮我写下C语言的小程序,有关排序算法

帮我写下C语言的小程序,有关排序算法,第1张

#include <stdio.h>

/*交换两个数*/

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等。在编写小程序算法时,要注意小程序的性能和体积,让用户能够快速加载和使用小程序。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12045425.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存