12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- /** @file
- This is a test application that demonstrates how to use the sorting functions.
- Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
- SPDX-License-Identifier: BSD-2-Clause-Patent
- **/
- #include <Uefi.h>
- #include <Library/UefiLib.h>
- #include <Library/DebugLib.h>
- #include <Library/ShellCEntryLib.h>
- #include <Library/SortLib.h>
- /**
- Test comparator.
- @param[in] b1 The first INTN
- @param[in] b2 The other INTN
- @retval 0 They are the same.
- @retval -1 b1 is less than b2
- @retval 1 b1 is greater then b2
- **/
- INTN
- EFIAPI
- Test (
- CONST VOID *b1,
- CONST VOID *b2
- )
- {
- if (*(INTN *)b1 == *(INTN *)b2) {
- return (0);
- }
- if (*(INTN *)b1 < *(INTN *)b2) {
- return (-1);
- }
- return (1);
- }
- /**
- UEFI application entry point which has an interface similar to a
- standard C main function.
- The ShellCEntryLib library instance wrappers the actual UEFI application
- entry point and calls this ShellAppMain function.
- @param Argc Argument count
- @param Argv The parsed arguments
- @retval 0 The application exited normally.
- @retval Other An error occurred.
- **/
- INTN
- EFIAPI
- ShellAppMain (
- IN UINTN Argc,
- IN CHAR16 **Argv
- )
- {
- INTN Array[10];
- Array[0] = 2;
- Array[1] = 3;
- Array[2] = 4;
- Array[3] = 1;
- Array[4] = 5;
- Array[5] = 6;
- Array[6] = 7;
- Array[7] = 8;
- Array[8] = 1;
- Array[9] = 5;
- Print (L"Array = %d, %d, %d, %d, %d, %d, %d, %d, %d, %d\r\n", Array[0], Array[1], Array[2], Array[3], Array[4], Array[5], Array[6], Array[7], Array[8], Array[9]);
- PerformQuickSort (Array, 10, sizeof (INTN), Test);
- Print (L"POST-SORT\r\n");
- Print (L"Array = %d, %d, %d, %d, %d, %d, %d, %d, %d, %d\r\n", Array[0], Array[1], Array[2], Array[3], Array[4], Array[5], Array[6], Array[7], Array[8], Array[9]);
- return 0;
- }
|