aboutsummaryrefslogtreecommitdiff
path: root/c11/ex07
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2019-07-17 19:30:52 +0200
committerCharles <sircharlesaze@gmail.com>2019-07-17 19:30:52 +0200
commit880102ae9358db130ef67cc9a7177a1e1de76875 (patch)
treeb5929722cf123e7c1701f4bc164a905f79510bf5 /c11/ex07
parentdcf89e9366538c70fc08ceaabd5b770f5d5b890d (diff)
downloadpiscine-880102ae9358db130ef67cc9a7177a1e1de76875.tar.gz
piscine-880102ae9358db130ef67cc9a7177a1e1de76875.tar.bz2
piscine-880102ae9358db130ef67cc9a7177a1e1de76875.zip
c10 tail stuff, c11 start, c12/c13 files
Diffstat (limited to 'c11/ex07')
-rw-r--r--c11/ex07/ft_advanced_sort_string_tab.c46
1 files changed, 46 insertions, 0 deletions
diff --git a/c11/ex07/ft_advanced_sort_string_tab.c b/c11/ex07/ft_advanced_sort_string_tab.c
new file mode 100644
index 0000000..f640664
--- /dev/null
+++ b/c11/ex07/ft_advanced_sort_string_tab.c
@@ -0,0 +1,46 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* ft_advanced_sort_string_tab.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: cacharle <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2019/07/16 21:51:06 by cacharle #+# #+# */
+/* Updated: 2019/07/16 21:54:24 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+int is_sorted(char **tab, int(*cmp)(char *, char *))
+{
+ int i;
+
+ i = 1;
+ while (tab[i] != NULL)
+ {
+ if ((*cmp)(tab[i], tab[i +1]) > 0)
+ return (0);
+ i++;
+ }
+ return (1);
+}
+
+void ft_advanced_sort_string_tab(char **tab, int(*cmp)(char *, char *))
+{
+ int i;
+ char *tmp;
+
+ while (!is_sorted(tab))
+ {
+ i = 1;
+ while (tab[i] != NULL)
+ {
+ if ((*cmp)(tab[i], tab[i +1]) > 0)
+ {
+ tmp = argv[i];
+ argv[i] = argv[i + 1];
+ argv[i + 1] = tmp;
+ }
+ i++;
+ }
+ }
+}