如何使用命令行turbo c ++在c ++中对数组进行排序

时间:2013-11-09 05:12:47

标签: c++ turbo-c++

我在c ++中对数组进行排序练习。我使用turbo c ++的命令行编程进行编码。

2 个答案:

答案 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;
            }
        }
    }
}

编辑:

正如我所说,它基于泡沫算法。它按顺序检查从第一个到最后一个的索引,并自动将最小的数字放在第一位,第二小的位于第二位,依此类推。您可以查看herehere以获取更多信息。

答案 1 :(得分:-1)

我是怎么做到的。希望这就是你的意思。

  • 阅读命令行参数
  • 使用atoi函数
  • 将字符串转换为整数
  • 使用任何排序算法排序(此处使用bubble sort
  • 打印结果

要了解冒泡排序的工作原理,请查看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;
    }