我在c ++中对数组进行排序练习。我使用turbo c ++的命令行编程进行编码。
答案 0 :(得分:4)
您可以使用此代码,它使用冒泡排序算法。
#include <stdio.h>
#include <iostream>
using namespace std;
void sort(int *,int);
int main()
{
int arr[10] = {2,3,4,12,5,0,2,5,1,20};
sort(arr,10);
for(int i = 0;i<10;i++)
cout << arr[i] << " ";
return 0;
}
void sort(int * ar,int length)
{
for(int i = 0;i<length;i++)
{
for(int j = i;j<length;j++)
{
if(ar[j] < ar[i])
{
int swap = ar[i];
ar[i] = ar[j];
ar[j] = swap;
}
}
}
}
编辑:
正如我所说,它基于泡沫算法。它按顺序检查从第一个到最后一个的索引,并自动将最小的数字放在第一位,第二小的位于第二位,依此类推。您可以查看here或here以获取更多信息。
答案 1 :(得分:-1)
我是怎么做到的。希望这就是你的意思。
atoi
函数要了解冒泡排序的工作原理,请查看this。
#include<iostream.h>
#include<stdlib.h>
int main(int argc, char *argv[])
{
int i,j,temp, arr[10];
for(i=1; i<argc; ++i)
{
arr[i-1] = atoi(argv[i]);
}
/* Sort the array using bubble sort alogrithm */
for(i=0; i<argc-2; ++i)
{
for(j=0; j<argc-2; ++j)
{
if(arr[j] > arr[j+1])
{
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
/* Print the result */
cout<<"Sorted array : ";
for(i=0; i<argc-1; ++i)
{
cout<<" "<<arr[i];
}
return 0;
}