Software Engineering Excellence - The key to mastering the Digital Transformation in Organisations
1. Daniel Méndez
Software & Systems Engineering
Software Engineering Excellence –
The key to mastering the Digital Transformation in
Organisations
@mendezfe
3. Industrial (R-)evolution(s)
Digitisation
4
Advancement in
automation,
interconnection
and flexibility
(Today)
Mechanisation
1
Introduction of
production
facilities
(18th century)
Electrisation
2
Introduction of
production lines
base on division
of labour
(19th century)
Electronisation
3
Introduction
of (ICT)
electronics
for production
control
(1970’s)
Economical, political, and societal change (“transformation”)
4. Enablers of Digital Transformation
§ (ICT) Infrastructure
§ Exponential technological progress
§ Hardware-related progress (smaller, faster, cheaper, more standardised)
§ Software-related progress (methodologies, languages, abstraction)
§ Interconnection & automation
§ Services and information as new resources
§ Vanishing boundaries
➤ New ways of working
➤ New (“digital”) business models,
e.g., by networking and composition
➤ Everything happens in a breath-taking speed
5. Technology User Reach-out
0 10 20 30 40 50 60 70 80
Angry Birds
Facebook
Internet
TV
Radio
Telephone
Years to reach 50 million users
Source: Citi Digital Strategy Team
7. Let’s talk about Software
01 int partition(int arr[], int left, int right)
02 {
03 int i = left, j = right;
04 int tmp;
05 int pivot = arr[(left + right) / 2];
06 while (i <= j) {
07 while (arr[i] < pivot)
08 i++;
09 while (arr[j] > pivot)
10 j--;
11 if (i <= j) {
12 tmp = arr[i];
13 arr[i] = arr[j];
14 arr[j] = tmp;
15 i++;
16 j--;
17 }
18 };
19 return i;
20 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
20 lines of code
8. 01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
01 i nt par t it ion( i nt ar r [] , int lef t, i nt r ight )
02 {
03 i nt i = lef t, j = r ight ;
04 i nt t mp;
05 i nt pivot = arr [( lef t + right ) / 2];
06 w hi le (i <= j) {
07 w hi le (ar r [i] <pivot )
08 i++;
09 w hi le (ar r [j] >pivot )
10 j- - ;
11 i f ( i <=j) {
12 t mp = arr [ i] ;
13 ar r [i] =ar r [j] ;
14 ar r [j] =t mp;
15 i++;
16 j- - ;
1 7 }
1 8 };
1 9 re tu rn i;
2 0 }
~2.000 lines of code
(Still a toy example…)
23. Exemplary Symptoms of the Digital Transformation
The largest taxi
company does not
own any taxi
Source: Tom Goodwin, The Battle Is For The Customer Interface, TechCrunch.com
The largest app
providers barely
develop own apps
The most popular
(social) media
services do not create
own content
28. As a first step:
Increase awareness about the role of software
What does this mean for my organisation?
29. The Role of Software in Organisations
§ … as a product
§ … in the product (e.g. automotive, avionic)
§ … for research & development (e.g. in medicine and chemistry)
§ … for information processing (e.g. banking and insurance)
§ … as an infrastructure (e.g. in production and logistics)
What is it for you?
Software Engineering is a new strategic core competence
Software…
30. Challenges in Today’s Software Engineering
Traditional (legacy) software systems
New level of complexity where traditional approaches don’t scale anymore
§ From specific-purpose data to Big Data to Smart Data (analytics)
§ From Agility over Fast Experimental Cycles to Chaos Engineering
§ From highly specialised teams to interdisciplinary and distributed teams
Next generation of software systems
§ (Evolving) software families
§ Adaptable standard products with value for the individuals
§ Virtualisation / Cloud computing / Software as a service
§ Human-centred software systems
§ Highly connected (cross-domain) systems of systems
§ …
What are yours?
31. 3 Important Principles to Master the Digital Transformation
➤ From ICT governance to more experimentation / failure culture
➤ From centralistic hierarchies to (more) enterprise agility
➤ Rethink the role of the CIO
➤ Methodologies over technologies
➤ Identify your topic expects (you probably have them already)
➤ Cultivate interdisciplinary teams for cross-domain projects
➤ Foster knowledge transfer
➤ Collaborate with research institutions and universities
➤ Better understand needs of customers and employees
Continuous
Learning
Culture
&
Structure
Software
Competence
32. Further reading
§ Talk by Arnold Picot: Digitalisierung der Arbeitswelt: Zwischen Flexibilisierung und
Polarisierung? (Basis for infographic on slide 2)
§ Tom Goodwin, The Battle Is For The Customer Interface, TechCrunch.com
§ Manfred Broy, Software Eats the World – Zehn Thesen zur strategischen Bedeutung von
Software in Wirtschaftsunternehmen, SEI, 2015 (Basis for discussion on role of software
in organisations and principles)
Image sources
§ http://infobeautiful4.s3.amazonaws.com/2013/10/1276_Lines_of_code_Sep2015_FB.png
(Basis for illustration of software sizes)
§ https://upload.wikimedia.org/wikipedia/commons/d/d6/A-line1913.jpg (Used in slide 2)
References