You should be using the qsort library function in stdlib.h If you can't use that then this is probably homework, which means this should be reposted over there in the homework forum.
For qsort there needs to be a comparison function, let's call it compar()
it returns: 0 on equal, +1 when a is larger, -1 when b is larger:
This one sorts 99 -> 1, in reverse order.
flip the position of *a1 and *b1 in the subtraction statement to sort 1->99
Anyone know where you can purchase a 5.1 cd set? IBM no longer ships this out and do not have a set. I have a burned copy, but would be nice to have the originals. I'd like to send my copies offsite for DR once i get an original set.
Thanks! (2 Replies)
in csh
set x = "/home/usr/dir1/file1"
if i do:
echo $x | awk -F\/ '{print $NF}'
will result to:
"file1"
how do i invert the output to:
"/home/usr/dir1"
:confused: (2 Replies)
I have columnar data in arrays perl, Example -
@a = (1,2,3);
@array1 = (A,B,C);
@array2 = (D,E,F);
@array3 = (I,R,T);
I want the data to be formatted and printed as
1 A D I
2 B E F
3 C F T
and so on... (8 Replies)
Good evening
I have a file as below and want to change the order, as in the second column, sed awk Pearl
Thanks
aaaaaaaaaa
bbbbbbbbb
cccccccc
aaaaaaaaaa
bbbbbbbbb
cccccccc
aaaaaaaaaa
cccccccc
bbbbbbbbb
aaaaaaaaaa
cccccccc
bbbbbbbbb (8 Replies)
Hi I have Ubuntu 10.10 installed. I want to change boot order.
Can anyone tell where is menu.lst file located. I searched it but didn't get it. Please tell me what file I need to edit for same? (3 Replies)
Hi guys,
I have a script in which it simply do a grep of strings for the var/adm/messages file:
NEWDATE=`TZ=GMT+1 date +%b" "%d" "%H`
getalarm1=`grep "sent to primary BE" /var/adm/messages* | grep "$NEWDATE" | wc -l`
getalarm2=`grep "CC-Request-Type 3 received in state Idle"... (5 Replies)
Hi ,
I have around 1000000 odd lines in a file in random order.
The file looks like this:
>string102
>string10437183
>string514
>string10435771
>string10437259
>string1049931
>string1342
I want to arrange it in increasing order:
>string102
>string514
>string1342... (3 Replies)
select to_char(cre_on, 'ddmm hh24'), proc_flg, count(*) from ib_prd.tb_ibmh_msg_log where message_type = 'DECHECK_OUT'
and cre_on > to_date('27/08/2016 00:00:00', 'dd/MM/yyyy hh24:mi:ss')
group by to_char(cre_on, 'ddmm hh24'), proc_flg
order by 1;
1) what does order by 1 means
2) group by... (1 Reply)
Discussion started by: houmingc
1 Replies
LEARN ABOUT OPENSOLARIS
qsort
qsort(3C) Standard C Library Functions qsort(3C)NAME
qsort - quick sort
SYNOPSIS
#include <stdlib.h>
void qsort(void *base, size_t nel, size_t width,
int (*compar)(const void *, const void *));
DESCRIPTION
The qsort() function is an implementation of the quick-sort algorithm. It sorts a table of data in place. The contents of the table are
sorted in ascending order according to the user-supplied comparison function.
The base argument points to the element at the base of the table. The nel argument is the number of elements in the table. The width
argument specifies the size of each element in bytes. The compar argument is the name of the comparison function, which is called with two
arguments that point to the elements being compared.
The function must return an integer less than, equal to, or greater than zero to indicate if the first argument is to be considered less
than, equal to, or greater than the second argument.
The contents of the table are sorted in ascending order according to the user supplied comparison function.
USAGE
The qsort() function safely allows concurrent access by multiple threads to disjoint data, such as overlapping subtrees or tables.
EXAMPLES
Example 1 Program sorts.
The following program sorts a simple array:
#include <stdlib.h>
#include <stdio.h>
static int
intcompare(const void *p1, const void *p2)
{
int i = *((int *)p1);
int j = *((int *)p2);
if (i > j)
return(1);
if (i < j)
return (-1);
return(0);
}
int
main()
{
int i;
int a[10] = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
size_t nelems = sizeof (a) / sizeof (int);
qsort((void *)a, nelems, sizeof (int), intcompare);
for (i = 0; i < nelems; i++) {
(void) printf("%d ", a[i]);
}
(void) printf("
");
return(0);
}
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Standard |
+-----------------------------+-----------------------------+
|MT-Level |MT-Safe |
+-----------------------------+-----------------------------+
SEE ALSO sort(1), bsearch(3C), lsearch(3C), string(3C), attributes(5), standards(5)NOTES
The comparison function need not compare every byte, so arbitrary data may be contained in the elements in addition to the values being
compared.
The relative order in the output of two items that compare as equal is unpredictable.
SunOS 5.11 6 Dec 2004 qsort(3C)