RootTools
คือไลบารี่ที่นักพัฒนาสามารถใช้งานได้ง่ายเพื่อให้แอพของเขาสามารถคุยกับระบบปฏิบัตการผ่านผู้ใช้ ROOT ได้ซึ่งใน RootTools มีความสารมารถต่างๆดังนี้
วันพุธที่ 24 กรกฎาคม พ.ศ. 2556
วันพุธที่ 3 กรกฎาคม พ.ศ. 2556
[STL] วิธีการใช้ฟังก์ชั่น sort
ฟังก์ชั่น sort คือคำสั่งสำเร็จรูปในการเรียงลำดับ
ลองรับใน ภาษา C++ 1998 ขึ้นไป
อยู่ในชุด #include<algorithm> ใน namespace std
รูปแบบการประกาศ
sort(ตัวชี้แรก,ตัวชี้สุดท้าย)
หรือ
sort(ตัวชี้แรก,ตัวชี้สุดท้าย,วิธีการเรียง)
เช่น
ลองรับใน ภาษา C++ 1998 ขึ้นไป
อยู่ในชุด #include<algorithm> ใน namespace std
รูปแบบการประกาศ
sort(ตัวชี้แรก,ตัวชี้สุดท้าย)
หรือ
sort(ตัวชี้แรก,ตัวชี้สุดท้าย,วิธีการเรียง)
เช่น
int a[]={7,2,1,9,3,7,8,5,1,2}; sort(a,a+10); //ค่าในarray a จะถูกเรียงลำดับจากน้อยไปมากแต่ถ้าหากเรียงจากมากไปน้อย หรือเรียงแบบอื่นๆ ก็สามารถทำหนดวิธีการเรียงโดย
bool compare(int a,int b) { return a>b; } int main(){ int a[]={7,2,1,9,3,7,8,5,1,2}; sort(a,a+10,compare); } //ค่าในarray a จะถูกเรียงลำดับจากมากไปน้อยหากเป็น data structer ไม่ว่าจะเป็น class หรือ struct ก็สามารถ กำหนดได้เหมือนกัน
#include<stdio.h> #include<algorithm> using namespace std; struct item{ int value; float floating; }; bool compare(struct item a,struct item b) { return a.value<b .value; } int main(){ int i; struct item box[10]; for(i=0;i<10;i++){ scanf("%d %f",&box[i].value,&box[i].floating); } sort(box,box+10,compare); // จะเรียงลำดับ array box จากน้อยไปมาก ตามค่าของ valu } for(i=0;i<10;i++){ printf("\n%d %f",box[i].value,box[i].floating); }ทั้งนี้ยัง สามารถใช้ได้กับอีกหลายโครงสร้าง เช่น ใช้กับ vector เป็นต้น
vectorint vex; sort(vex.begin(),vex.end()); //หรือแม้แต่ vector ที่เก็บข้อมูลเป็น node หรือ เป็น class ก็สามารถ ทำได้แต่ต้องสร้าง function compare ให้ตัวอย่างเต็ม เพื่อการนำไปใช้
#include<stdio.h> #include<algorithm> using namespace std; bool compare(int a,int b) { return a>b; } int main(){ int a[]={7,2,1,9,3,7,8,5,1,2}; sort(a,a+10,compare); int i; for(i=0;i<10;i++) { printf("%d",a[i]); } }
สมัครสมาชิก:
บทความ (Atom)