Search This Blog
Welcome to 1printf(), your ultimate destination for C, C++, Linux, Data Structures, and Microcontroller programming! ๐ ๐นLearn advanced coding techniques in C& C++ ๐นMaster Linux internals & shell scripting ๐นDeep dive into Data Structures & Algorithms ๐นExplore Embedded Systems & Microcontrollers (8051,UART, RTOS) ๐นGet hands-on coding tutorials, project ideas,and interview preparation tips Whether you're a beginner or an experienced programmer, this channel will help you
Featured
Sort Items Based on Risk Severity (0, 1, 2) in C
✅ Sort Items Based on Risk Severity
Airport security officials have confiscated several item of the passengers at the security check point. All the items have been dumped into a huge box (array). Each item possesses a certain amount of risk[0,1,2]. Here, the risk severity of the items represent an array[] of N number of integer values. The task here is to sort the items based on their levels of risk in the array. The risk values range from 0 to 2.
Example :
Input : 7 -> Value of N [1,0,2,0,1,0,2]-> Element of arr[0] to arr[N-1], while input each element is separated by new line. Output : 0 0 0 1 1 2 2 -> Element after sorting based on risk severity
Example 2:
input : 10 -> Value of N [2,1,0,2,1,0,0,1,2,0] -> Element of arr[0] to arr[N-1], while input each element is separated by a new line. Output : 0 0 0 0 1 1 1 2 2 2 ->Elements after sorting based on risk severity.
Explanation:
In the above example, the input is an array of size N consisting of only 0’s, 1’s and 2s. The output is a sorted array from 0 to 2 based on risk severity.
#include <stdio.h>
/* Function to sort colors (0, 1, 2) */
void sortColors(int* nums, int numsSize)
{
int low = 0, mid = 0, high = numsSize - 1;
while (mid <= high)
{
if (nums[mid] == 0)
{
int temp = nums[low];
nums[low] = nums[mid];
nums[mid] = temp;
low++;
mid++;
}
else if (nums[mid] == 1)
{
mid++;
}
else // nums[mid] == 2
{
int temp = nums[mid];
nums[mid] = nums[high];
nums[high] = temp;
high--;
}
}
}
int main()
{
int n;
printf("Enter the number of elements: ");
scanf("%d", &n);
if (n <= 0)
{
printf("Invalid input\n");
return 0;
}
int nums[n];
printf("Enter elements (0, 1, 2 only):\n");
for (int i = 0; i < n; i++)
{
scanf("%d", &nums[i]);
}
/* Call sorting function */
sortColors(nums, n);
printf("Sorted array:\n");
for (int i = 0; i < n; i++)
{
printf("%d ", nums[i]);
}
return 0;
}
๐ Hashtags:
#CProgramming #ArraySorting #BitManipulation #Programming #1printf
Popular Posts
C++ Program for Hybrid Inheritance (All Types Together)
- Get link
- X
- Other Apps
C++ Program for Function Overloading Example
- Get link
- X
- Other Apps
Comments
Post a Comment