C 程序使用指针对数组进行排序

编写一个C程序,使用指针对数组进行排序。此示例将指针传递给 SortArray 函数,并在 for 循环中使用 temp 变量以升序对数组进行排序。

#include <stdio.h>

void SortArray(int Size, int* parr)
{
	int i, j, temp;	

	for (i = 0; i < Size; i++)
	{
		for (j = i + 1; j < Size; j++)
		{
			if(*(parr + j) < *(parr + i))
			{
				temp = *(parr + i);
				*(parr + i) = *(parr + j);
				*(parr + j) = temp;
			}			
		}
	}
	printf("\nSorted Array Elements using Pointer = ");
	for(i = 0; i < Size; i++)
	{
		printf("%d  ", *(parr + i));
	}	
}

int main()
{
	int Size;

	printf("\nEnter Array Size to Sort using Pointers = ");
	scanf("%d", &Size);

	int arr[Size];

	printf("\nPlease Enter %d elements of an Array = ", Size);
	for (int i = 0; i < Size; i++)
	{
		scanf("%d", &arr[i]);
    }  	
	SortArray(Size, arr);   
	printf("\n");	
}
C Program to Sort an Array using a Pointer

C 程序将通过将数组指针传递给函数和使用 while 循环进行排序,以升序对给定数组进行排序。

#include <stdio.h>

void SortArray(int Size, int *parr)
{
	int i, j, temp;
	i = 0;

	while (i < Size)
	{
		j = i + 1;
		while (j < Size)
		{
			if (*(parr + j) < *(parr + i))
			{
				temp = *(parr + i);
				*(parr + i) = *(parr + j);
				*(parr + j) = temp;
			}
			j++;
		}
		i++;
	}
	printf("\nSorted Array Elements using Pointer = ");
	i = 0;
	while (i < Size)
	{
		printf("%d  ", *(parr + i));
		i++;
	}
}
void acceptArrayItems(int Size, int *parr)
{
	printf("\nPlease Enter %d elements of an Array = ", Size);

	int i = 0;
	while (i < Size)
	{
		scanf("%d", parr + i);
		i++;
	}
}
int main()
{
	int Size;

	printf("\nEnter Array Size to Sort using Pointers = ");
	scanf("%d", &Size);

	int arr[Size];
	acceptArrayItems(Size, arr);

	SortArray(Size, arr);
	printf("\n");
}
Enter Array Size to Sort using Pointers = 9

Please Enter 9 elements of an Array = 11 99 33 234 17 98 5 55 49

Sorted Array Elements using Pointer = 5  11  17  33  49  55  98  99  234