-
最简单的一对一分类
#include
using namespace std;
int main()
int a[10];
cout <<"please enter 10 number:";
int i;
for (i = 0; i < 10; i++)cin >>a[i];
int j,tmp;
for(i = 0; i < 10; i++)for(j = i; j < 10; j++)if(a[i] tmp = a[i];
a[i] = a[j];
a[j] = tmp;
cout <<"afer sort the array:";
for(i = 0; i < 10; i++)cout return 0;
-
2.这里运用了快速排序的思想,通过一次排序将待排序的数据分成两个独立的部分,即这里将数据分成i和j两个变量,然后将一部分中的所有数据都小于另一部分中的所有数据,然后将数据的两部分分别进行比较和排序, 并且整个排序过程可以递归进行,从而实现整个数据变成一个有序序列:
3.然后编写 main 函数,在 main 函数中定义一个数组,然后使用 scanf 接受数组,用户输入 10 个数字后,该数字会存储在数组中,然后调用上面的函数进行排序,函数的输入就是刚刚输入的数字,最后可以输出排序的结果:
4.最后编译运行,输入10个数字,最后控制台输出排序结果,证明程序的逻辑没有问题。 以上是 C 语言中 10 个数字排序的演示
-
以两种方法为例,分别是冒泡法和选择法。
1]鼓泡法。
气泡法的基本思想:每次比较两个相邻的数字,并将较小的一个调整到前面。
如果有 n 个数字,则执行 n-1 行程比较。 在第一次行程中,执行 n-1 成对比较,在 j 腿比较中,执行 n-j 成对比较。
#include
#pragma warning(disable:4996)
int main()
printf("the sorted numbers:");
for (i = 0; i < 10; i++)
printf("%d ", a[i]);
printf("");
system("pause");
return 0;
2] 选择方法。
选择方法的基本思想是将前面的数字与后面的每个数字依次进行比较,每次都挑出最小的一个放在前面。
如果有 n 个数字,则用于 n-1 轮比较,a[1] a[n] 已经按从小到大的顺序存储。
#include
#pragma warning(disable:4996)
int main()
printf("the sorted numbers:");
for (i = 0; i < 10; i++)
printf("%d ", a[i]);
printf("");
system("pause");
return 0;}
-
您可以编写一个简单的链表。
在这方面,线性物理结构相对容易处理。
-
排序方法太多了,所以让我们使用最简单的冒泡方法,包括
int main()
bubble(arr,10);
return 0;}
-
你的问题是找到十个数字的三个最大数字(对应于数组的下标和小精灵)的序数。
我的思路不止一种:
1. 随机数生成 10 个数字以形成数组 num。
2. 定义一个数组 x 来保存最多三位数字的下标(数字的大小从大到小)。
3. 遍历 num 找到数组最小值的下标,并将其保存到变量 mi 中。
4. 用mi的值初始化x(即前三个数字对应最小数字)。
5.再次遍历num,每次与x中每个对应的数字进行比较,发现大于此,则将当前x元素全部向后移动一位,并将当前值下标记录在当前元素x中。
生成的数组 x 是问题的序号。
ps:该程序被设计为可扩展和通用的,因此所有参数(位数、位数、最大数字数)都被定义为常量只要修改常数,就可以适应n个数字的排列,找到最大m个数的序号。
#include
#include
#include
define mn 10 最大数字数。
将 N 100 定义为不超过的单个数字。
定义 m 3 是您要计数的最大数字(问题应该是前 3 个,您可以更改其他值)。
int main()
srand(time(null));
printf("数组(随机)为:");
while(inum[i]=rand()%n;
if(num[i]printf("%d ",num[i++]
for(i=0;iprintf("");
i=0;while(ip=&x[0];
while(1)
if(num[i]>num[*p])
p2=&x[m-1];
while(p2>p)*p2=*(p2-1),p2--;x电流位依次向后和向后移动。
p=i;break;
else p++;
if(p>&x[m-1])
break;
i++;printf("三个最大的数组数是(数字从 0 开始):");
for(i=0;iprintf("数字 %d,序列号 %d。 ",num[x[i]],x[i]);
return 0;
-
其原理是利用冒泡算法将最大的数字浮在上面,小的数字下沉,最后输出。
这是如何做到的: 分析:我们尝试将最小的数字放在 x 上,首先将 x 与 y 进行比较,如果 x > y,则将 x 与 y 交换,然后将 x 与 z 交换,如果 x > z,则将 x 与 z 交换,使 x 最小。
1.从控制台读取三个数字;
2.实现从小到大排序的三个数字:
1)以第一个数字为最小数字,依次与第二个和第三个数字进行比较。如果其中一个小于第一个,则交换两个数字。
2)在步骤(1)之后,获取第一个数字作为最小值。将第二个数字的大小与第三个数字的大小进行比较后,可以将三个数字从小到大排序。
扩展材料。 两种常见的排序方法:
1.选择排序方法:从一列数字中选择第一个数字作为最小数字,依次与以下数字进行比较。 如果有一个小于第一个数字的数字,则交换两个数字。 最后,当列数为倒数第二时,列数按从小到大的顺序排列。
2.冒泡排序方法:思路与选择排序方法一致。 不同之处在于,冒泡排序将第一个作为最大数字,然后将其与该数字之后的数字进行比较。
-
分拣方法有很多种,因为只有3种,所以效率差不多,只是简单的气泡分拣。
A、B 和 C 就是这三个数字。
inti,a,b,c,temp;
for(i=0;i<3;i++)
if(b>c)
-
鼓泡方式:包括
main()
printf("从小到大的顺序是:")
for(i=0;i<3;i++) 得到最终结果。
printf("%d",a[i]);
虽然他速度很快,但不要跟他狂奔,要知道他的变线突破非常凶猛,速度的应用只是一个方面; 另外,你可以远射他,这就是Live Ten的bug,成功率不亚于弗兰克·兰帕德,别看他的低指数。