21xrx.com
2025-04-27 23:07:36 Sunday
文章检索 我的文章 写文章
C++一维数组:输入、输出、最大/最小查找和排序
2023-06-28 11:04:10 深夜i     23     0
C++ 一维数组 输入 输出 最大/最小查找 排序

C++语言中,数组是一种非常常见的数据类型,它能够存储多个相同的数据类型的数据。在实际的编程中,我们常常需要对数组进行输入、输出、最大/最小值查找和排序等操作,这篇文章将向读者介绍这些操作的实现方法。

一、 输入一维数组

输入数组元素的方法很多,这里我们介绍两种方法:

方法一:使用循环逐个输入数组元素

int arr[10];
for(int i=0; i<10; i++){
  cin >> arr[i];
}

方法二:使用快速输入方法

int arr[10];
for(int &x:arr){
  scanf("%d",&x);
}

二、 输出一维数组

输出数组元素同样有多种方法:

方法一:使用循环逐个输出数组元素

for(int i=0; i<10; i++){
  cout << arr[i] << " ";
}

方法二:使用快速输出方法

for(int x:arr){
  printf("%d ",x);
}

三、 最大/最小值查找

对于一维数组,查找其中的最大和最小值也是常见的操作。

查找最大值:

int max_val = arr[0];
for(int i=1; i<10; i++){
  if(arr[i]>max_val){
   max_val = arr[i];
  }
}

查找最小值:

int min_val = arr[0];
for(int i=1; i<10; i++){
  if(arr[i]<min_val){
   min_val = arr[i];
  }
}

四、 排序一维数组

对一维数组进行排序,有多种方法,这里我们以快速排序为例。

void quickSort(int arr[], int left, int right){
  if(left>=right) return;
  int i=left, j=right;
  int pivot = arr[(left+right)/2];
  while(i<=j){
    while(arr[i]<pivot) i++;
    while(arr[j]>pivot) j--;
    if(i<=j){
      swap(arr[i],arr[j]);
      i++;
      j--;
    }
  }
  quickSort(arr,left,j);
  quickSort(arr,i,right);
}

以上就是对一维数组进行输入、输出、最大/最小值查找和排序的常用方法,这些操作在实际的编程中十分常见,并且具有很强的实用性,希望读者们可以掌握这些技巧,提高编程能力。

  
  

评论区