コード例 #1
0
ファイル: idris_utf8.c プロジェクト: FranklinChen/Idris-dev
char* idris_utf8_rev(char* s, char* result) {
    strcpy(result, s);
    char* end = result;
    while(*end) { end = reverse_char(end); }
    reverse_range(result, end-1);
    return result;
}
コード例 #2
0
ファイル: idris_utf8.c プロジェクト: FranklinChen/Idris-dev
char* reverse_char(char *start)
{
    char *end = start;
    while((end[1] & 0xc0) == 0x80) { end++; }
    reverse_range(start, end);
    return(end + 1);
}
コード例 #3
0
struct ListNode* reverseKGroup(struct ListNode* head, int k) {
    struct ListNode root;
    struct ListNode *tail,*cur,*tmp;
    int i;
    int count = 0;
    if(!k)
        return head;

    root.next = head;
    tail = &root;
    cur = head;
    while(cur){
        count++;
        if(count % k == 0){
            tmp = cur->next;
            
            cur->next = NULL;
            tail = reverse_range(tail->next,tail);
            tail->next = tmp;

            cur = tmp;
            continue;
        }
        cur = cur->next;
    }

    return root.next;
}
コード例 #4
0
ファイル: hb-buffer.cpp プロジェクト: JetBrains/jdk8u_jdk
void
hb_buffer_t::reverse (void)
{
  if (unlikely (!len))
    return;

  reverse_range (0, len);
}
コード例 #5
0
ファイル: hb-buffer.cpp プロジェクト: JetBrains/jdk8u_jdk
void
hb_buffer_t::reverse_clusters (void)
{
  unsigned int i, start, count, last_cluster;

  if (unlikely (!len))
    return;

  reverse ();

  count = len;
  start = 0;
  last_cluster = info[0].cluster;
  for (i = 1; i < count; i++) {
    if (last_cluster != info[i].cluster) {
      reverse_range (start, i);
      start = i;
      last_cluster = info[i].cluster;
    }
  }
  reverse_range (start, i);
}