Latest web development tutorials
×

C หลักสูตร

C กวดวิชาภาษา C แนะนำโดยย่อ C การตั้งค่าสภาพแวดล้อม C โครงสร้างหลักสูตร C ไวยากรณ์พื้นฐาน C ชนิดข้อมูล C ตัวแปร C คงที่ C ประเภทการจัดเก็บ C ผู้ประกอบการ C ผู้พิพากษา C การไหลเวียน C ฟังก์ชัน C การกำหนดขอบเขตกฎระเบียบ C แถว C ชี้ C เชือก C โครงสร้าง C สหภาพ C ฟิลด์บิต C typedef C อินพุตและเอาต์พุต C การอ่านออกเขียนเอกสาร C preprocessor C ส่วนหัว C ปลดเปลื้อง C จัดการข้อผิดพลาด C recursion C พารามิเตอร์ตัวแปร C จัดการหน่วยความจำ C บรรทัดคำสั่ง C คลาสสิก 100 ราย

C ห้องสมุดมาตรฐาน

C ห้องสมุดมาตรฐาน - คู่มืออ้างอิง C ห้องสมุดมาตรฐาน - <assert.h> C ห้องสมุดมาตรฐาน - <ctype.h> C ห้องสมุดมาตรฐาน - <errno.h> C ห้องสมุดมาตรฐาน - <float.h> C ห้องสมุดมาตรฐาน - <limits.h> C ห้องสมุดมาตรฐาน - <locale.h> C ห้องสมุดมาตรฐาน - <math.h> C ห้องสมุดมาตรฐาน - <setjmp.h> C ห้องสมุดมาตรฐาน - <signal.h> C ห้องสมุดมาตรฐาน - <stdarg.h> C ห้องสมุดมาตรฐาน - <stddef.h> C ห้องสมุดมาตรฐาน - <stdio.h> C ห้องสมุดมาตรฐาน - <stdlib.h> C ห้องสมุดมาตรฐาน - <string.h> C ห้องสมุดมาตรฐาน - <time.h>

ฟังก์ชั่น C Library - qsort ()

C ห้องสมุดมาตรฐาน - <stdlib.h> C ห้องสมุดมาตรฐาน - <stdlib.h>

ลักษณะ

Cทำงานห้องสมุดโมฆะ qsort (void * ฐาน size_t NITEMS ขนาด size_t, int (* compar) (โมฆะ const * const โมฆะ *)) ในการจัดเรียงแถว

คำแถลง

นี่คือ qsort () ฟังก์ชั่นการประกาศของ

void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*))

พารามิเตอร์

  • ฐาน - ตัวชี้ไปยังองค์ประกอบแรกของอาร์เรย์ต้องเรียงลำดับ
  • NITEMS - จำนวนของจุดที่ไปที่ฐานขององค์ประกอบอาร์เรย์
  • ขนาด - ขนาดขององค์ประกอบในอาร์เรย์แต่ละไบต์
  • compar - ฟังก์ชั่นที่ใช้ในการเปรียบเทียบสององค์ประกอบ

ราคาย้อนกลับ

ฟังก์ชั่นนี้ไม่ได้ส่งกลับค่า

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงให้เห็นถึง qsort () ฟังก์ชั่นถูกนำมาใช้

#include <stdio.h>
#include <stdlib.h>

int values[] = { 88, 56, 100, 2, 25 };

int cmpfunc (const void * a, const void * b)
{
   return ( *(int*)a - *(int*)b );
}

int main()
{
   int n;

   printf("排序之前的列表:\n");
   for( n = 0 ; n < 5; n++ ) {
      printf("%d ", values[n]);
   }

   qsort(values, 5, sizeof(int), cmpfunc);

   printf("\n排序之后的列表:\n");
   for( n = 0 ; n < 5; n++ ) {
      printf("%d ", values[n]);
   }
  
  return(0);
}

Let 's รวบรวมและเรียกใช้โปรแกรมข้างต้นซึ่งจะส่งผลต่อไปนี้:

排序之前的列表:
88 56 100 2 25 
排序之后的列表:
2 25 56 88 100

C ห้องสมุดมาตรฐาน - <stdlib.h> C ห้องสมุดมาตรฐาน - <stdlib.h>