DispatchQueue is an object that manages the execution of tasks serially or concurrently on main thread or on a background thread.
A custom DispatchQueue ensures that tasks are executed one at a time in the order they are added.
#include <stdio.h> | |
void gcd(int, int); | |
int main() | |
{ | |
int num1, num2; | |
printf("Enter two numbers: "); | |
scanf("%d %d", &num1, &num2); | |
gcd((num1 >= num2) ? num1, num2 : num2, num1); |
#include <stdio.h> | |
int sum(int); | |
int main() | |
{ | |
int num; | |
printf("Enter a number: "); | |
scanf("%d", &num); | |
printf("\nSum of first %d number is: %d\n", num, sum(num)); |
#include <stdio.h> | |
void binary(int); | |
int main() | |
{ | |
int num, place = 1, bin = 0, rem; | |
printf("Enter a number: "); | |
scanf("%d", &num); |
/* ------------ Print prime numbers using sieve of Eratosthenes. ------------ */ | |
#include <stdio.h> | |
int main() | |
{ | |
int size = 100; | |
int arr[size]; | |
int i, j, k; | |
int half; |
#include <stdio.h> | |
void getData(int *, int *, int); | |
int main() | |
{ | |
int arr[] = {11, 44, -2, 351, -1129, 34, 3, -124, 25, -9}; | |
int size = sizeof(arr) / sizeof(arr[0]); | |
int count[4]; | |
getData(arr, count, size); |
#include <stdio.h> | |
int search(int *, int, int, int); | |
int main() | |
{ | |
int arr[] = {2, 4, 8, 16, 32, 64, 128, 256}; | |
int size = sizeof(arr) / sizeof(arr[0]); | |
int find = 128; | |
printf("%d is found at Array index: %d.", find, search(arr, 0, (size - 1), find)); |
Brochette-case / Kebab case => Hello_World | |
lowerCamelCase / Dromedary Case => helloWorld | |
Pascal case / Upper Camal Case => HelloWorld | |
Snake case | |
Snake case starts with a lower case letter, and uses an underscore to separate words (although some variations start with an upper case). | |
Generally associated with the C programming language, although it actually started life with no particular name: | |
first + _ + Number = first_Number | |
Examples: my_func(), my_var, name, test |
// Print all Divisors of a given Number | A10.swift | |
var arr = [Int]() | |
// x = sqr(n) | |
// TimeComlexity = O(x + xlog(x) + x) | |
for i in 1...n where i * i <= n { | |
if n % i == 0 { | |
arr.append(i) |
"copy on write" is an optimization technique that helps in managing memory more efficiently.
It is used primarly with value types such as Array, Dictionary and String to defer the actual copying of data until it is modified. This helps in minimizing unnecessary data copying and thus improve performance.
When you assign or pass a value type to another variable or function. Swift doesn't immediately creates the copy of data. Instead it shares the same underlying storage until the copy is modified.