วันพุธที่ 24 กรกฎาคม พ.ศ. 2556

Android app :: Roottools ใช้แอพเราคุยกับระบบ

RootTools คือไลบารี่ที่นักพัฒนาสามารถใช้งานได้ง่ายเพื่อให้แอพของเขาสามารถคุยกับระบบปฏิบัตการผ่านผู้ใช้ ROOT ได้ซึ่งใน RootTools มีความสารมารถต่างๆดังนี้

วันพุธที่ 3 กรกฎาคม พ.ศ. 2556

[STL] วิธีการใช้ฟังก์ชั่น 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]);
}
}