Skip to content

StarlangSoftware/Util-Swift

Repository files navigation

For Developers

You can also see Java, Python, Cython, C++, C, Js, or C# repository.

Requirements

  • Xcode Editor
  • Git

Git

Install the latest version of Git.

Download Code

In order to work on code, create a fork from GitHub page. Use Git for cloning the code to your local or below line for Ubuntu:

git clone <your-fork-git-link>

A directory called Util-Swift will be created. Or you can use below link for exploring the code:

git clone https://github.com/starlangsoftware/Util-Swift.git

Open project with XCode

To import projects from Git with version control:

  • XCode IDE, select Clone an Existing Project.

  • In the Import window, paste github URL.

  • Click Clone.

Result: The imported project is listed in the Project Explorer view and files are loaded.

Compile

From IDE

After being done with the downloading and opening project, select Build option from Product menu. After compilation process, user can run Util-Swift.

Detailed Description

Interval

Aralık veri yapısını tutmak için Interval sınıfı

a = Interval()

1 ve 4 aralığı eklemek için

a.add(1, 4)

i. aralığın başını getirmek için (yukarıdaki örnekteki 1 gibi)

func getFirst(index: Int) -> Int

i. aralığın sonunu getirmek için (yukarıdaki örnekteki 4 gibi)

func getLast(index: Int) -> Int

Subset

Altküme tanımlamak ve tüm altkümelere ulaşmak için Subset ve SubsetFromList sınıfları

Subset veri yapısını tanımlamak için

init(rangeStart: Int, rangeEnd: Int, elementCount: Int)

Burada elemenCount elemanlı, elemanları rangeStart ile rangeEnd arasında değerler alabilen tüm altkümeleri gezen bir yapıdan bahsediyoruz. Örneğin

Subset(1, 4, 2), bize iki elemanlı elemanlarını 1 ile 4 arasından gelen tüm alt kümeleri seçmek için kullanılan bir constructor'dır. Tüm altkümeleri elde etmek için

a = Subset(rangeStart: 1, rangeEnd: 4, elementCount: 2)
repeat {
	subset = a.get()
	....
} while (a.next())

Burada subset sırasıyla {1, 2}, {1, 3}, {1, 4}, {2, 3}, {2, 4}, {3, 4} altkümelerini gezer.

SubsetFromList

Altküme tanımlamak ve tüm altkümelere ulaşmak için Subset ve SubsetFromList sınıfları

SubsetFromList veri yapısını kullanmak için

init(_list: [Int], elementCount: Int)

Burada elementCount elemanlı, elemanları list listesinden çekilen değerler olan ve tüm altkümeleri gezen bir yapıdan bahsediyoruz. Örneğin

SubsetFromList({1, 2, 3, 4}, 3), bize üç elemanlı elemanlarını {1, 2, 3, 4} listesinden seçen ve tüm alt kümeleri gezmekte kullanılan bir constructor'dır. Tüm altkümeleri elde etmek için

a = SubsetFromList(_list: [1, 2, 3, 4], elementCount: 3)
repeat {
	subset = a.get()
	....
} while (a.next())

Burada SubsetFromList sırasıyla {1, 2, 3}, {1, 2, 4}, {1, 3, 4}, {2, 3, 4} altkümelerini gezer.

Permutation

Permütasyon tanımlamak ve tüm permütasyonlara ulaşmak için Permutation sınıfı

init(n: Int)

Burada 0 ile n - 1 arasındaki değerlerin tüm olası n'li permütasyonlarını gezen bir yapıdan bahsediyoruz. Örneğin

Permutation(5), bize değerleri 0 ile 4 arasında olan tüm 5'li permütasyonları gezmekte kullanılan bir constructor'dır. Tüm permütasyonları elde etmek için

a = Permutation(n: 5)
repeat {
	permutation = a.get()
	...
} while(a.next())

Burada Permutation sırasıyla {0, 1, 2, 3, 4}, {0, 1, 2, 4, 3} gibi permütasyonları gezer.