SlideShare a Scribd company logo
1 of 1
Download to read offline
Write a Kotlin program with a checkSorting() generic function. The checkSorting()
function accepts two arguments: an input list and a function that determines the
comparison condition. The function should be able to accept any list belonging to the
Number supertype. The user should be able to specify through the function argument the
condition using which a list will be considered sorted. For example, a list (1,2,3,4,5) is
considered sorted if we are using a comparison condition where each (n-1)th element
should be less than each nth element, otherwise it is considered unsorted. The function
checkSorting() returns True of a list is sorted, otherwise it returns false.
Please note that checkSorting should be written as a pure function, therefore, it should be
recursive and use an internal helper function. Test your program by at least two calls to this
function from main using any two distinct number subtypes of your choice.
Hint: To compare elements of an array, you will need to write two extension functions. An
extension function allows you to add helpful behavior for a type or instance. To declare an
extension function, prefix its name with the type of the data to which you would like to add
the behavior. The following is an example of an extension function show() that we would like
to apply to an Int to show the Ints value.
fun Int.show(): String = "The value of this Int is $this"
1.show()
res1: kotlin.String = The value of this Int is 1
The two extension function you will require are tail() and head(). tail() uses the drop method
for lists which returns a list containing all elements except the first n elements. head() uses
the first method for lists which returns the first element on the list. For more information,
please refer to the following links:
Extension functions: http://developer.android.com
drop(): https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/drop.html
first(): https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/first.html

More Related Content

Similar to Write a Kotlin program with a checkSorting generic functio.pdf

C++ Please make sure that your answer is fully submitted .pdf
C++ Please make sure that your answer is fully submitted .pdfC++ Please make sure that your answer is fully submitted .pdf
C++ Please make sure that your answer is fully submitted .pdf
aashkaahm
 
Complete a C++ class implementation for a linked-list of sorted (asc.pdf
Complete a C++ class implementation for a linked-list of sorted (asc.pdfComplete a C++ class implementation for a linked-list of sorted (asc.pdf
Complete a C++ class implementation for a linked-list of sorted (asc.pdf
shahidqamar17
 
Need done for Date Structures please! 4-18 LAB- Sorted number list imp.pdf
Need done for Date Structures please! 4-18 LAB- Sorted number list imp.pdfNeed done for Date Structures please! 4-18 LAB- Sorted number list imp.pdf
Need done for Date Structures please! 4-18 LAB- Sorted number list imp.pdf
info114
 
Assg 05 QuicksortCOSC 2336 Data StructuresObjectives.docx
Assg 05 QuicksortCOSC 2336 Data StructuresObjectives.docxAssg 05 QuicksortCOSC 2336 Data StructuresObjectives.docx
Assg 05 QuicksortCOSC 2336 Data StructuresObjectives.docx
jane3dyson92312
 
Assg 05 QuicksortCOSC 2336 Data StructuresObjectives.docx
Assg 05 QuicksortCOSC 2336 Data StructuresObjectives.docxAssg 05 QuicksortCOSC 2336 Data StructuresObjectives.docx
Assg 05 QuicksortCOSC 2336 Data StructuresObjectives.docx
festockton
 
Linked List Objective The purpose of this exercise is to cr.pdf
Linked List Objective The purpose of this exercise is to cr.pdfLinked List Objective The purpose of this exercise is to cr.pdf
Linked List Objective The purpose of this exercise is to cr.pdf
adityacomputers001
 

Similar to Write a Kotlin program with a checkSorting generic functio.pdf (20)

Python programming: Anonymous functions, String operations
Python programming: Anonymous functions, String operationsPython programming: Anonymous functions, String operations
Python programming: Anonymous functions, String operations
 
C++ Please make sure that your answer is fully submitted .pdf
C++ Please make sure that your answer is fully submitted .pdfC++ Please make sure that your answer is fully submitted .pdf
C++ Please make sure that your answer is fully submitted .pdf
 
functions- best.pdf
functions- best.pdffunctions- best.pdf
functions- best.pdf
 
Functions
FunctionsFunctions
Functions
 
Lecture 11 - Functions
Lecture 11 - FunctionsLecture 11 - Functions
Lecture 11 - Functions
 
Amit user defined functions xi (2)
Amit  user defined functions xi (2)Amit  user defined functions xi (2)
Amit user defined functions xi (2)
 
All About ... Functions
All About ... FunctionsAll About ... Functions
All About ... Functions
 
Introduction to Python - Part Two
Introduction to Python - Part TwoIntroduction to Python - Part Two
Introduction to Python - Part Two
 
Function overloading
Function overloadingFunction overloading
Function overloading
 
PE1 Module 3.ppt
PE1 Module 3.pptPE1 Module 3.ppt
PE1 Module 3.ppt
 
Complete a C++ class implementation for a linked-list of sorted (asc.pdf
Complete a C++ class implementation for a linked-list of sorted (asc.pdfComplete a C++ class implementation for a linked-list of sorted (asc.pdf
Complete a C++ class implementation for a linked-list of sorted (asc.pdf
 
Parametricity
ParametricityParametricity
Parametricity
 
Lecture 4
Lecture 4Lecture 4
Lecture 4
 
Vizwik Coding Manual
Vizwik Coding ManualVizwik Coding Manual
Vizwik Coding Manual
 
Need done for Date Structures please! 4-18 LAB- Sorted number list imp.pdf
Need done for Date Structures please! 4-18 LAB- Sorted number list imp.pdfNeed done for Date Structures please! 4-18 LAB- Sorted number list imp.pdf
Need done for Date Structures please! 4-18 LAB- Sorted number list imp.pdf
 
Assg 05 QuicksortCOSC 2336 Data StructuresObjectives.docx
Assg 05 QuicksortCOSC 2336 Data StructuresObjectives.docxAssg 05 QuicksortCOSC 2336 Data StructuresObjectives.docx
Assg 05 QuicksortCOSC 2336 Data StructuresObjectives.docx
 
Assg 05 QuicksortCOSC 2336 Data StructuresObjectives.docx
Assg 05 QuicksortCOSC 2336 Data StructuresObjectives.docxAssg 05 QuicksortCOSC 2336 Data StructuresObjectives.docx
Assg 05 QuicksortCOSC 2336 Data StructuresObjectives.docx
 
Functions in C++
Functions in C++Functions in C++
Functions in C++
 
User defined function in C.pptx
User defined function in C.pptxUser defined function in C.pptx
User defined function in C.pptx
 
Linked List Objective The purpose of this exercise is to cr.pdf
Linked List Objective The purpose of this exercise is to cr.pdfLinked List Objective The purpose of this exercise is to cr.pdf
Linked List Objective The purpose of this exercise is to cr.pdf
 

More from agpcorp

Write Short answers specific and avoid extra off topic det.pdf
Write Short answers specific and avoid extra off topic det.pdfWrite Short answers specific and avoid extra off topic det.pdf
Write Short answers specific and avoid extra off topic det.pdf
agpcorp
 

More from agpcorp (20)

Wrte a function gotPC that accepts three arguments UD and .pdf
Wrte a function gotPC that accepts three arguments UD and .pdfWrte a function gotPC that accepts three arguments UD and .pdf
Wrte a function gotPC that accepts three arguments UD and .pdf
 
WRRK amp MOAILITY AND RALL PREVENTION FOCUS PAIN PAIN 5.pdf
WRRK amp MOAILITY AND RALL PREVENTION FOCUS PAIN PAIN 5.pdfWRRK amp MOAILITY AND RALL PREVENTION FOCUS PAIN PAIN 5.pdf
WRRK amp MOAILITY AND RALL PREVENTION FOCUS PAIN PAIN 5.pdf
 
Write TWO recursive methods One to find the maximum in an a.pdf
Write TWO recursive methods One to find the maximum in an a.pdfWrite TWO recursive methods One to find the maximum in an a.pdf
Write TWO recursive methods One to find the maximum in an a.pdf
 
Write the R code to generate the following output by using c.pdf
Write the R code to generate the following output by using c.pdfWrite the R code to generate the following output by using c.pdf
Write the R code to generate the following output by using c.pdf
 
Write the name of the structure the phrase describes 1 Blo.pdf
Write the name of the structure the phrase describes 1 Blo.pdfWrite the name of the structure the phrase describes 1 Blo.pdf
Write the name of the structure the phrase describes 1 Blo.pdf
 
Write TensorFlow program to create a Binary image classifi.pdf
Write TensorFlow program  to  create a Binary image classifi.pdfWrite TensorFlow program  to  create a Binary image classifi.pdf
Write TensorFlow program to create a Binary image classifi.pdf
 
Write python code that calculates the minimum maximum mean.pdf
Write python code that calculates the minimum maximum mean.pdfWrite python code that calculates the minimum maximum mean.pdf
Write python code that calculates the minimum maximum mean.pdf
 
Write the Asymptotic Complexity for each line of code Then .pdf
Write the Asymptotic Complexity for each line of code Then .pdfWrite the Asymptotic Complexity for each line of code Then .pdf
Write the Asymptotic Complexity for each line of code Then .pdf
 
Write Short answers specific and avoid extra off topic det.pdf
Write Short answers specific and avoid extra off topic det.pdfWrite Short answers specific and avoid extra off topic det.pdf
Write Short answers specific and avoid extra off topic det.pdf
 
write report that will Evaluate your organizations IT infras.pdf
write report that will Evaluate your organizations IT infras.pdfwrite report that will Evaluate your organizations IT infras.pdf
write report that will Evaluate your organizations IT infras.pdf
 
Write the assembly program Can use put_qword_safe to pr.pdf
Write the assembly program Can use put_qword_safe to pr.pdfWrite the assembly program Can use put_qword_safe to pr.pdf
Write the assembly program Can use put_qword_safe to pr.pdf
 
Write program in JavaC to sort the given array using merge .pdf
Write program in JavaC to sort the given array using merge .pdfWrite program in JavaC to sort the given array using merge .pdf
Write program in JavaC to sort the given array using merge .pdf
 
Write the Asymptotic Complexity for each line of code and th.pdf
Write the Asymptotic Complexity for each line of code and th.pdfWrite the Asymptotic Complexity for each line of code and th.pdf
Write the Asymptotic Complexity for each line of code and th.pdf
 
Write the below pseudo code segment using a multipleselecti.pdf
Write the below pseudo code segment using a multipleselecti.pdfWrite the below pseudo code segment using a multipleselecti.pdf
Write the below pseudo code segment using a multipleselecti.pdf
 
Write node express application that displays the rectangle f.pdf
Write node express application that displays the rectangle f.pdfWrite node express application that displays the rectangle f.pdf
Write node express application that displays the rectangle f.pdf
 
write information about the plant propertieseffects of coca.pdf
write information about the plant propertieseffects of coca.pdfwrite information about the plant propertieseffects of coca.pdf
write information about the plant propertieseffects of coca.pdf
 
Write in SML A proper divisor of a natural number is the div.pdf
Write in SML A proper divisor of a natural number is the div.pdfWrite in SML A proper divisor of a natural number is the div.pdf
Write in SML A proper divisor of a natural number is the div.pdf
 
Write a main method that will request the user to enter Stri.pdf
Write a main method that will request the user to enter Stri.pdfWrite a main method that will request the user to enter Stri.pdf
Write a main method that will request the user to enter Stri.pdf
 
Write combining forms for each of the following terms 1 an.pdf
Write combining forms for each of the following terms 1 an.pdfWrite combining forms for each of the following terms 1 an.pdf
Write combining forms for each of the following terms 1 an.pdf
 
Write code for problem 2 please Create a linked list by ent.pdf
Write code for problem 2 please  Create a linked list by ent.pdfWrite code for problem 2 please  Create a linked list by ent.pdf
Write code for problem 2 please Create a linked list by ent.pdf
 

Recently uploaded

會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
中 央社
 

Recently uploaded (20)

Basic Civil Engineering notes on Transportation Engineering, Modes of Transpo...
Basic Civil Engineering notes on Transportation Engineering, Modes of Transpo...Basic Civil Engineering notes on Transportation Engineering, Modes of Transpo...
Basic Civil Engineering notes on Transportation Engineering, Modes of Transpo...
 
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
 
How to Analyse Profit of a Sales Order in Odoo 17
How to Analyse Profit of a Sales Order in Odoo 17How to Analyse Profit of a Sales Order in Odoo 17
How to Analyse Profit of a Sales Order in Odoo 17
 
philosophy and it's principles based on the life
philosophy and it's principles based on the lifephilosophy and it's principles based on the life
philosophy and it's principles based on the life
 
Word Stress rules esl .pptx
Word Stress rules esl               .pptxWord Stress rules esl               .pptx
Word Stress rules esl .pptx
 
Features of Video Calls in the Discuss Module in Odoo 17
Features of Video Calls in the Discuss Module in Odoo 17Features of Video Calls in the Discuss Module in Odoo 17
Features of Video Calls in the Discuss Module in Odoo 17
 
An overview of the various scriptures in Hinduism
An overview of the various scriptures in HinduismAn overview of the various scriptures in Hinduism
An overview of the various scriptures in Hinduism
 
How to Manage Notification Preferences in the Odoo 17
How to Manage Notification Preferences in the Odoo 17How to Manage Notification Preferences in the Odoo 17
How to Manage Notification Preferences in the Odoo 17
 
Removal Strategy _ FEFO _ Working with Perishable Products in Odoo 17
Removal Strategy _ FEFO _ Working with Perishable Products in Odoo 17Removal Strategy _ FEFO _ Working with Perishable Products in Odoo 17
Removal Strategy _ FEFO _ Working with Perishable Products in Odoo 17
 
The Last Leaf, a short story by O. Henry
The Last Leaf, a short story by O. HenryThe Last Leaf, a short story by O. Henry
The Last Leaf, a short story by O. Henry
 
Application of Matrices in real life. Presentation on application of matrices
Application of Matrices in real life. Presentation on application of matricesApplication of Matrices in real life. Presentation on application of matrices
Application of Matrices in real life. Presentation on application of matrices
 
Operations Management - Book1.p - Dr. Abdulfatah A. Salem
Operations Management - Book1.p  - Dr. Abdulfatah A. SalemOperations Management - Book1.p  - Dr. Abdulfatah A. Salem
Operations Management - Book1.p - Dr. Abdulfatah A. Salem
 
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
 
“O BEIJO” EM ARTE .
“O BEIJO” EM ARTE                       .“O BEIJO” EM ARTE                       .
“O BEIJO” EM ARTE .
 
slides CapTechTalks Webinar May 2024 Alexander Perry.pptx
slides CapTechTalks Webinar May 2024 Alexander Perry.pptxslides CapTechTalks Webinar May 2024 Alexander Perry.pptx
slides CapTechTalks Webinar May 2024 Alexander Perry.pptx
 
factors influencing drug absorption-final-2.pptx
factors influencing drug absorption-final-2.pptxfactors influencing drug absorption-final-2.pptx
factors influencing drug absorption-final-2.pptx
 
Pragya Champions Chalice 2024 Prelims & Finals Q/A set, General Quiz
Pragya Champions Chalice 2024 Prelims & Finals Q/A set, General QuizPragya Champions Chalice 2024 Prelims & Finals Q/A set, General Quiz
Pragya Champions Chalice 2024 Prelims & Finals Q/A set, General Quiz
 
Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).
 
Navigating the Misinformation Minefield: The Role of Higher Education in the ...
Navigating the Misinformation Minefield: The Role of Higher Education in the ...Navigating the Misinformation Minefield: The Role of Higher Education in the ...
Navigating the Misinformation Minefield: The Role of Higher Education in the ...
 
....................Muslim-Law notes.pdf
....................Muslim-Law notes.pdf....................Muslim-Law notes.pdf
....................Muslim-Law notes.pdf
 

Write a Kotlin program with a checkSorting generic functio.pdf

  • 1. Write a Kotlin program with a checkSorting() generic function. The checkSorting() function accepts two arguments: an input list and a function that determines the comparison condition. The function should be able to accept any list belonging to the Number supertype. The user should be able to specify through the function argument the condition using which a list will be considered sorted. For example, a list (1,2,3,4,5) is considered sorted if we are using a comparison condition where each (n-1)th element should be less than each nth element, otherwise it is considered unsorted. The function checkSorting() returns True of a list is sorted, otherwise it returns false. Please note that checkSorting should be written as a pure function, therefore, it should be recursive and use an internal helper function. Test your program by at least two calls to this function from main using any two distinct number subtypes of your choice. Hint: To compare elements of an array, you will need to write two extension functions. An extension function allows you to add helpful behavior for a type or instance. To declare an extension function, prefix its name with the type of the data to which you would like to add the behavior. The following is an example of an extension function show() that we would like to apply to an Int to show the Ints value. fun Int.show(): String = "The value of this Int is $this" 1.show() res1: kotlin.String = The value of this Int is 1 The two extension function you will require are tail() and head(). tail() uses the drop method for lists which returns a list containing all elements except the first n elements. head() uses the first method for lists which returns the first element on the list. For more information, please refer to the following links: Extension functions: http://developer.android.com drop(): https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/drop.html first(): https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/first.html