1. 程式人生 > >關於陣列的一些操作!!!

關於陣列的一些操作!!!

對陣列的一些操作

建立一個數組, 實現函式init()初始化陣列、 實現empty()清空陣列、 實現reverse()函式完成陣列元素的逆置。

程式碼如下

#include<stdio.h>

 void Init(int arr[], int sz)
 {
 /*初始化陣列*/
	 int i;
	 for(i=0; i<sz ; i++)
	 {
          arr[i]=2;
	 }           /*end of for*/
	 
 }            /*end of void Init*/
 void Empty( int arr[], int sz)
 {
      /*將陣列清空*/
	 int i;
	 for(i=0;i<sz;i++)
	 {
		 arr[i]=0;
	 }            /*end of for*/
 }
 void Print(int arr[], int sz)
 {
    /*列印函式*/
	 int i;
	 for(i=0; i<sz; i++)
	 {
	     printf("%d", arr[i]);
	 }         /*end of for*/
	 printf("\n");
 
 }           /*end of  void Print*/
void Init2(int arr[], int sz)
{
    /*重新對陣列賦初值*/
	int i;
	for (i=0;i<sz;i++)
	{
		arr[i]=i;
	}                /*end of for*/
}                       /*end of void Init2*/
 void Reverse(int arr[],int sz)
 {   
    /*實現逆置*/
     int left = 0,right= sz-1;
	 while(left<right)
	 {
		 int tmp=arr[left];
		 arr [left]=arr [right];
		 arr [right]= tmp;
		 left++;
		 right--;
	 }           /*end of while*/
	
 }   /*end of  void Reverse*/


int main()
{
	int a[10]={0};
	int sz=sizeof(a)/sizeof(a[0]);
    Init(a,sz);              /*初始化陣列*/
	Print(a,sz);           /*列印初始化後的陣列*/
	Empty(a,sz);        /*將陣列清空*/
	Print(a,sz);           /*列印清空後的結果*/
	Init2(a,sz);           /*重新對陣列賦初值*/
	Print(a,sz);          /*列印重新賦值後的結果*/
	Reverse(a,sz);    /*實現逆置*/
	Print(a,sz);          /*列印逆置後的結果*/
	return 0;
}

執行結果

 <img src ="https://img-blog.csdn.net/20181024122504942  width ="20%" height ="20%">"